Actually, $a = [1,2,$b[11]] would be amazingly clear and expressive in comparison with the rather verbose array() version (same thing with the swap, btw).$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. The fact that you (and, probably, most of us) can't tell right off the bat is a clear sign that this is a bad idea, because it's ambiguous and confusing.
The same line using the current syntax, btw, would have looked like this:
$a = array (1,3,$b[11]);
BTW, remember the alternative range syntax [a..b] I mentioned before? If you consider Markus Boegers (sp?) iterators extension, wouldn't it be top cool to have [a..] syntax, too (yielding an iterator)? And have versions of map/filter/reduce support iterators, too? :) Well, just thinking out loud, you remember ;)
As you can see the ambiguity is gone--square brackets are used for one purpose and nothing else.Actually, do you realize that you use () both for "grouping" and for application? I can't see anything wrong with using square brackets for array element access and array creation, to be honest.
Cheers, Michael
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php