Brian Moon wrote:
In PHP4, you could do:

function test()
{
       return array(1,2,3);
}

$var = array_shift(test());

PHP 5.0 broke this. There was a fatal error on the array_shift that only variables could be passed by reference. There was a good argument for it. So, we started migrating our code.

Well, seems this works in 5.1. So, my question is, was it an intentional "fix" or will this break again and we need to continue to watch for this?

In 5.1 this now throws an E_STRICT instead of a warning. It is still a bad idea to pass a tempvar by reference, so yes, you should strive to write E_STRICT clean code.

-Rasmus

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

Reply via email to