PHP variables are assigned by value, passed to functions by value, and when containing/representing objects are passed by reference. You can force variables to pass by reference using an &
मूल्य / संदर्भ उदाहरण द्वारा असाइन किया गया:
$var1 = "test";
$var2 = $var1;
$var2 = "new test";
$var3 = &$var2;
$var3 = "final test";
print ("var1: $var1, var2: $var2, var3: $var3);
उत्पादन होगा
var1: परीक्षण, var2: अंतिम परीक्षण, var3: अंतिम परीक्षण
मूल्य / संदर्भ परीक्षा द्वारा उत्तीर्ण:
$var1 = "foo";
$var2 = "bar";
changeThem($var1, $var2);
print "var1: $var1, var2: $var2";
function changeThem($var1, &$var2){
$var1 = "FOO";
$var2 = "BAR";
}
आउटपुट होगा:
var1: foo, var2 बार
संदर्भ परीक्षा द्वारा पारित ऑब्जेक्ट वेरिएबल्स:
class Foo{
public $var1;
function __construct(){
$this->var1 = "foo";
}
public function printFoo(){
print $this->var1;
}
}
$foo = new Foo();
changeFoo($foo);
$foo->printFoo();
function changeFoo($foo){
$foo->var1 = "FOO";
}
आउटपुट होगा:
FOO
(वह अंतिम उदाहरण शायद बेहतर हो सकता है ...)