PHP 引用


簡介

在 PHP 中,引用使透過不同名稱訪問同一變數內容成為可能。它們不像是 C/C++ 中的指標,因為無法使用它們執行算術運算。在 C/C++ 中,它們是實際的記憶體地址。相反,在 PHP 中,它們是符號表別名。在 PHP 中,變數名和變數內容是不同的,因此同一內容可以有不同的名稱。透過給原始變數加上&符號字首來建立引用變數。因此,$b=&$a 將表示 $b 是 $a 的引用變數。

透過引用賦值

在下面的示例中,兩個變數引用相同的值

示例

 即時演示

<?php
$var1=10;
$var2=&$var1;
echo "$var1 $var2
"; $var2=20; echo "$var1 $var2
"; ?>

輸出

一個值發生改變,另一個值也會改變

10 10
20 20

如果透過引用賦值、傳遞或返回一個未定義的變數,它將被建立。在函式內部為宣告為全域性的變數分配一個引用,該引用僅在函式內可見。當在 foreach 語句中為具有引用的變數分配值時,引用也會被修改。

示例

 即時演示

<?php
$arr=[1,2,3,4,5];
$i=&$ref;
foreach($arr as $i)
echo $i*$i, "
"; echo "ref = ". $ref; ?>

輸出

$ref 的值儲存在陣列中的最後一個元素中

1
4
9
16
25
ref = 5

在下面的示例中,陣列元素是陣列初始化之前宣告的各個變數的引用。如果修改元素,變數的值也會隨之改變

示例

 即時演示

<?php
$a = 10;
$b = 20;
$c=30;
$arr = array(&$a, &$b, &$c);
for ($i=0; $i<3; $i++)
$arr[$i]++;
echo "$a $b $c";
?>

輸出

$a、$b 和 $c 的值也會增加

11 21 31

更新於:2020 年 9 月 18 日

4K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.