手冊上的解釋是:簡單的引用(換言之,“成為其別名” 或者 “指向”)了原始變數。改動新的變數將影響到原始變數,反之亦然。
我理解決引用相當一個人取了兩個名字,無論叫個名字都是這個人。
以下兩例子結果都在一樣的。刪除或修改都會影響到另外一個變數的值。
$foo = 'Bob'; // 將 'Bob' 賦給 $foo$bar = &$foo; // 通過 $bar 引用 $foo$bar = "My name is $bar"; // 修改 $bar 變數echo $bar;echo $foo; //$foo 的值也被修改?>$foo = 'Bob'; // 將 'Bob' 賦給 $foo$bar = &$foo; // 通過 $bar 引用 $foo$foo = "My name is $bar"; // 修改 $foo 變數echo $bar,"\n";echo $foo; //$foo 的值也被修改?>
刪除引用時,無論是刪除b或a結果都沒會影響到另一個變數。只是相當於刪除一個名稱,不會影響到變數本身。
$a = 0;$b = &$a; // echo$a; //0 // unset($b); // unset$bunset($a); // unset$becho$b; //0 it's OK
當一個變數先後引用兩個變數時,把第一次引用的變數,修改成第二次引用的變數。第一次引用沒有關係,互相不會影響。
$a = "hihaha";$b = &$a;$c = "eita";$b = &$c;echo$b; // shows "hihaha"
函數的傳址調用傳址調用,執行完,相當於直接改變引用的變數。這裡b傳遞給函數的其實是b的變數內容所處的記憶體位址,通過在函數裡改變a的值就可以改變b的值了
functiontest( &$a ){$a += 10; return$a;}$b = 1;test($b);echo$b;//輸出11
函數的引用返回
function &test2(){ $b = 0;//申明一個靜態變數 $b = $b+1; return$b;}$a = test2();//這條語句會輸出 $b的值 為1var_dump($a);$a = test2();//這條語句會輸出 $b的值 為2var_dump($a);$a = & test2();//這條語句會輸出 $b的值 為3var_dump($a);$a = 5;$a = test2();//這條語句會輸出 $b的值 為6var_dump($a);
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
').text(i)); }; $numbering.fadeIn(1700); }); });
以上就介紹了 php變數引用賦值一些知識,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。