Re: No notices for undefined index

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2010-04-08 at 12:36 -0500, Shawn McKenzie wrote:

> So the first two print statements generate NO notices, while the second
> obviously generates:
> 
> Notice: Undefined offset:  1 in /home/shawn/www/test.php on line 11
> 
> Notice: Undefined index:  test in /home/shawn/www/test.php on line 12
> 
> This sucks.  A bug???
> 
> error_reporting(E_ALL);
> ini_set('display_errors', '1');
> 
> 
> $a = 5;
> print $a[1];
> print $a['test'];
> 
> $a = array();
> print $a[1];
> print $a['test'];
> 
> -- 
> Thanks!
> -Shawn
> http://www.spidean.com
> 


I think this goes back to the C style strings, where a string is just a
collection of characters. I've noticed that in PHP you can treat a
string as if it were an array of characters, so I guess in both cases
above, it would be trying to return the second character, which is the
termination character or a chr(0).

In the second example, you've explicitely declared $a to be an array, so
PHP creates a proper index for it, and then when you ask for an element
that is not in that index list, it throws a notice at you.

Thanks,
Ash
http://www.ashleysheridan.co.uk



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux