Bob McConnell wrote: > In the first case, $a=5 creates a multi-typed variable. The interpreter > makes its best guess how the next two expressions should be interpreted. > In both cases, they look a lot like an index into a character array > (string), and 'test' evaluates numerically to zero. Both are valid > offsets for a string, so no messages are generated. > > In the second case, $a is explicitly declared as an array. This give the > interpreter a lot more detail to work from. The two expressions are now > an index and a key for the array. But both of them evaluate to offsets > that have not been assigned, which raises a flag and creates the > warnings. > > Such are the joys of loosely typed languages. > > Bob McConnell Yes, this is what I was thinking as well, however: $a=5; print $a[0]; // if it is index 0 then it should print 5 yes? print $a[100]; // there is no index 100 so why no notice? -- Thanks! -Shawn http://www.spidean.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php