Hello Rasmus,

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

At the possible expense of being blamed and flamed, I'll say it...

ifsetor($var, 'default') would go a long way to accommodate E_STRICT
code.

-- 
Best regards,
 Jason                            mailto:[EMAIL PROTECTED]

Wednesday, April 26, 2006, 6:41:26 PM, you wrote:

RL> 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?

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

RL> -Rasmus

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

Reply via email to