ID: 9453
Updated by: jeroen
Reported By: [EMAIL PROTECTED]
Old Status: Open
Status: Bogus
Bug Type: Scripting Engine problem
Operating System: Windows 2000
PHP Version: 4.0.4pl1
New Comment:

This is expected behaviour. You *need* the $a =& func(),
a mere function &func() definition is not sufficient.

Agreed, this is not really nice... But $a = func() should
always return by value, you don't need to know how func() is
defined.

Equally, $a =& func() shouldn't work when it isn't defined
as returning by reference, since the function might not be
expecting it.

Btw: This has nothing to with call_time_pass_ref

status->bogus

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

[2001-03-08 14:55:45] [EMAIL PROTECTED]

let's run this code
<?php
class A{

function &b(&$f) {
        $d=&$f;
        $f='5';
        return $d;
}

}
$c='3';
$d=new A();
$h=$d->b($c);
//$h=&$d->b($c); //The & is needed to work well
//we get $h=&$c;
$h='9';
echo $c. ' '.$h;
//since we should see 9 9, but we can see 5 9
?>

we get 5 9
If we adapt the code to:
//$h=$d->b($c);
$h=&$d->b($c); //The & is needed to work well

we get 9 9, and that should be the good value, rigth?

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

[2001-03-08 06:38:51] [EMAIL PROTECTED]

Works for me. What are the results in your case?

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

[2001-02-26 05:07:37] [EMAIL PROTECTED]

I tried it with: allow_call_time_pass_reference = Off and 
allow_call_time_pass_reference        = On

It seems that the result is not send automatically as a reference

class A{

function &b(&$f) {
        $d=&$f;
        $f='5';
        return $d;
}

}

$c='3';
$d=new A();
$h=$d->b($c);
$h=&$d->b($c); //The & is needed to work well
$h='9';
echo $c. ' '.$h;

The value of c is not updated correctly if we don't ask for a reference


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



ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=9453&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to