|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2003-07-29 11:02 UTC] sniper@php.net
[2003-07-29 11:57 UTC] szernik at shawnzernik dot net
|
|||||||||||||||||||||||||||
Copyright © 2001-2026 The PHP GroupAll rights reserved. |
Last updated: Fri Mar 27 14:00:01 2026 UTC |
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