ID:               35995
 Updated by:       [EMAIL PROTECTED]
 Reported By:      jadelucca at comcast dot net
-Status:           Open
+Status:           Bogus
 Bug Type:         Scripting Engine problem
 Operating System: Windows XP
 PHP Version:      5.1.2
 New Comment:

It's not possible to pass expressions by reference.
`$test = "default value"` is an expression.
This is expected behaviour.



Previous Comments:
------------------------------------------------------------------------

[2006-01-13 12:55:44] jadelucca at comcast dot net

Under reproduce code, that SAME EXACT CODE WORKS on PHP 5.1.1! I just
testing.

The SECOND (Modification code) sends a parse error there too, so maybe
the 2nd example can't be done.

But the bug still lies within PHP 5.1.2! (For those who speed-read
through this and perhaps misundestood me.)

------------------------------------------------------------------------

[2006-01-13 12:49:04] jadelucca at comcast dot net

Description:
------------
You cannot define a variable in arguments in 5.1.2, but you could in
previous versions.

Reproduce code:
---------------
AN EXAMPLE would be:

<?php

function prefix(&$text) {
        $text = "Prefix " . $text;
}

prefix($text = "Add prefix to this here, which would do that in older
versions but not this one.");

?>

Expected result:
----------------
After I run the code above, $text *should* be "Prefix Add prefix..."
etc. This is how it worked in older versions of PHP.

Actual result:
--------------
$text is unmodified. It passes-by-value, not reference, despite the
fact that I added the & in the argument list. 

*Modification example*

If I swap the & sign from the function argument list to the actual
function arguments, like so:

<?php

function prefix($text) {
        $text = "Prefix " . $text;
}

prefix(&$text = "Add prefix to this here, which would do that in older
versions but not this one.");

?>

I get Parse error: syntax error, unexpected '=', expecting ')'


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=35995&edit=1

Reply via email to