There are some cases where this could start becoming quite challenging and
we might get into reference counting/separation problems, i.e.:

function foo()
{
        return array(1,2,3);

}       
foo()[1] = 4;

I'd say expression(f()[1]) means $tmp = f(); expression($tmp); unset($tmp); which here means:
$tmp = foo();
$tmp[1] = 4;
unset($tmp);

which is meaningless but should work. IIRC the engine can make free's at the end of expression, so it shouldn't be big problem. Actually, any assignment to it if it's not returned by-ref is meaningless, but syntactically ok.

--
Stanislav Malyshev, Zend Products Engineer
[EMAIL PROTECTED]  http://www.zend.com/

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to