Edit report at http://bugs.php.net/bug.php?id=53117&edit=1
ID: 53117 User updated by: dukeofgaming at gmail dot com Reported by: dukeofgaming at gmail dot com Summary: Assignment by reference within assignment operator Status: Bogus Type: Bug Package: *Compile Issues Operating System: Any (Windows 7) PHP Version: 5.2.14 Block user comment: N New Comment: I am not under the impresion that there is an asign-by-reference operator as such, since one is free to separate "=" from "&", where "&" indicates return by reference. However the expression part makes this clear. Regards, David Vega Previous Comments: ------------------------------------------------------------------------ [2010-10-20 22:15:12] cataphr...@php.net This is not a bug. The ternary operator defines an expression. Even if it allowed yielding a reference (it doesn't), you are not assigning by reference in $my_var = ... The assign by reference operator is "=&", not "=". ------------------------------------------------------------------------ [2010-10-20 18:53:06] dukeofgaming at gmail dot com Description: ------------ Hi, PHP throws a fatal error when code like this is processed: $my_var = (true)?(&$some_obj):(&$some_other_obj->some_arr_pop[]); Which is not a problem if put like this of course: $my_var; if(true){ $my_var = &$some_obj; }else{ $my_var = &$some_other_obj->some_arr_pop[]; } Affects both PHP 5.2.x and 5.3.x ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=53117&edit=1