From: szernik at shawnzernik dot net Operating system: Windows XP PHP version: 5.0.0b1 (beta1) PHP Bug Type: Zend Engine 2 problem Bug description: Varible Pass By Referance Fail
Description: ------------ If I pass the VarRefTest(&$Test) I get the same results. The result exspected are 10, 5, 5; 10, 5, 10; 10, 5, 10; 10, 5, 5. Just wanted to send you this since the docs online did not outline a new var ref model. Reproduce code: --------------- class tester { private $Number; function setNumber($New) { $this->Number = $New; } function getNumber() { return $this->Number; } } function RefTest ($Obj) { $Obj->setNumber(5); print "RefTest Number: " . $Obj->getNumber() . "<br>\n"; } function VarTest ($Var) { $Var = 5; print "VarTest Number: " . $Var . "<br>\n"; } function VarRefTest (&$Var) { $Var = 5; print "VarRefTest Number: " . $Var . "<br>\n"; } // Obj Ref Test $Test = new tester; $Test->setNumber(10); print "<p>Obj Number: " . $Test->getNumber() . "<br>\n"; RefTest($Test); print "Obj Number: " . $Test->getNumber() . "<br>\n"; // Obj Var Test $Test = new tester; $Test->setNumber(10); print "<p>Obj Number: " . $Test->getNumber() . "<br>\n"; RefTest($Test->__clone()); print "Obj Number: " . $Test->getNumber() . "<br>\n"; // Var Val Test $TestA = 10; print "<p>Number: " . $TestA . "<br>\n"; RefTest($Test); print "Number: " . $TestA . "<br>\n"; // Var Ref Test $TestA = 10; print "<p>Number: " . $TestA . "<br>\n"; VarRefTest($Test); print "Number: " . $TestA . "<br>\n"; Expected result: ---------------- The result exspected are 10, 5, 5; 10, 5, 10; 10, 5, 10; 10, 5, 5. Actual result: -------------- Obj Number: 10 RefTest Number: 5 Obj Number: 5 Obj Number: 10 RefTest Number: 5 Obj Number: 10 Number: 10 RefTest Number: 5 Number: 10 Number: 10 VarRefTest Number: 5 Number: 10 -- Edit bug report at http://bugs.php.net/?id=24854&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=24854&r=trysnapshot4 Try a CVS snapshot (php5): http://bugs.php.net/fix.php?id=24854&r=trysnapshot5 Fixed in CVS: http://bugs.php.net/fix.php?id=24854&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=24854&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=24854&r=needtrace Try newer version: http://bugs.php.net/fix.php?id=24854&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=24854&r=support Expected behavior: http://bugs.php.net/fix.php?id=24854&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=24854&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=24854&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=24854&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=24854&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=24854&r=dst IIS Stability: http://bugs.php.net/fix.php?id=24854&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=24854&r=gnused