ID: 41242 User updated by: laurynas at by dot lt Reported By: laurynas at by dot lt Status: Bogus Bug Type: Arrays related Operating System: Linux 2.6.17.7 PHP Version: 5.2.1 New Comment:
Agree, this is expresion, but the expression is executed before function is called, right? So the variable should be defined *before* function takes variable as a parameter. Then why it works in PHP 4.x? Previous Comments: ------------------------------------------------------------------------ [2007-04-30 16:06:22] [EMAIL PROTECTED] "$user = array()" is not a variable, but an expression. ------------------------------------------------------------------------ [2007-04-30 16:04:03] laurynas at by dot lt Description: ------------ Array values are destroyed after using it as reference in function call defining in call dirrectly as array. If given array is constructed before function call in the same parameters line, PHP returns nothing, but really shoud return a value associated to array. Reproduce code: --------------- <?php // this is our defined function // as you can see the second parameter is reference function someFunc($param1, & $array) { // so expecting $array as array we // put some value in it $array[0] = 'some value'; } // now call the function, please note, that array $user // is created as array type *outside* function someFunc(null, $user = array()); // now let's check returned value print_r($user); ?> Expected result: ---------------- Array ( [0] => some value ) Actual result: -------------- Array ( ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41242&edit=1