On 05 November 2003 17:19, Marco Tabini wrote: > Ford, Mike [LSS] wrote: > > On 05 November 2003 17:06, Marco Tabini contributed these pearls of > > wisdom: > > > > > > > Christian Schneider wrote: > > > > > > > Marco Tabini wrote: > > > > > > > > > > > > > $a = [[1,2,3],[1=>[1,3,2,2], "a"=>[[1,2,3,4],4,[1,2]]]; > > > > > > > > > > > > $a = array(array(1,2,3),array(1=>array(1,3,2,2), > > > > "a"=>array(array(1,2,3,4),4,array(1,2))); > > > > > > > > > > Besides my previous points, something even more abominable: > > > > > > $a = [1,2,$b[11]]; > > > > > > Is that confusing enough for you? ;-) > > > > > > What's confusing about it? > > > > The fact that $b[11] references an item of an array, while > [1,2,$b[11]] assigns values to the array $a.
That's not confusing -- at least no more so than the different meanings of - in $b = -$a and $b = $c - $a. > The fact that you (and, > probably, most of us) can't tell right off the bat Bzzt! Wrong! It was because I *could* tell right off the bat exactly what it meant that I asked why it was confusing. > is a clear sign > that this is a bad idea, because it's ambiguous and confusing. And again, wrong assumption -- I asked what's confusing because to me it looks completely unambiguous and totally clear. > The same line using the current syntax, btw, would have looked like > this: > > $a = array (1,3,$b[11]); Well, I can see true enough that that has the same meaning, but for me it's harder to read and interpret. I see the () first and start assuming it's a function, before my eyes and brain have time to digest that the name of the "function" is array -- result: a moment's confusion whilst I deal with the ambiguity of using function syntax for a language construct. With the [] syntax, I see the square brackets and they immediately shout ARRAY CONSTRUCTOR at me -- result: instant understanding and I'm on to the next line of code in a flash. Cheers! Mike --------------------------------------------------------------------- Mike Ford, Electronic Information Services Adviser, Learning Support Services, Learning & Information Services, JG125, James Graham Building, Leeds Metropolitan University, Beckett Park, LEEDS, LS6 3QS, United Kingdom Email: [EMAIL PROTECTED] Tel: +44 113 283 2600 extn 4730 Fax: +44 113 283 3211 -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php