如何透過引用傳遞 PHP 變數


在 PHP 中,您可以使用取地址符 (&) 透過引用而不是按值傳遞變數。這允許您在函式或方法中修改原始變數。主要有兩種方法可以按引用傳遞 PHP 變數

  • 在函式/方法宣告中使用取地址符

  • 在將變數傳遞給函式/方法時使用取地址符

在函式/方法宣告中使用取地址符

在 PHP 中,您可以使用函式/方法宣告中的取地址符 (&) 透過引用傳遞變數。這是一個更新的解釋

要在函式/方法宣告中使用取地址符透過引用傳遞變數,您需要在函式/方法定義中引數名稱前包含取地址符。這表示應透過引用傳遞引數,允許修改原始變數。

這是一個例子

function modifyValue(&$variable) {
    $variable += 10;
}

$myVariable = 5;
modifyValue($myVariable);
echo $myVariable; // Output: 15

在上面的程式碼中,函式 modifyValue 帶有一個引數 $variable,其變數名前面有一個取地址符,表示它是透過引用傳遞的。在函式內部,$variable 的值透過加上 10 來修改。當函式使用 $myVariable 作為引數呼叫時,原始變數將透過引用傳遞,允許函式直接修改其值。結果,echo $myVariable 顯示更新後的值 15。

在函式/方法宣告中使用取地址符是一種直接且明確的方法,用於指示您要透過引用傳遞變數。當您特別打算在函式或方法中修改原始變數時,這很有幫助。

在將變數傳遞給函式/方法時使用取地址符

在 PHP 中,您可以使用取地址符 (&) 在將變數傳遞給函式或方法時透過引用傳遞變數。這允許函式或方法直接修改原始變數。這是正確的解釋

function modifyValue($variable) {
    $variable += 10;
}

$myVariable = 5;
modifyValue(&$myVariable);
echo $myVariable; // Output: 5

在上面的程式碼中,函式 modifyValue 帶有一個引數 $variable,在函式定義中沒有取地址符。呼叫函式時,&$myVariable 作為引數傳遞,表示 $myVariable 應該透過引用傳遞。

但是,在 PHP 中,在將變數傳遞給函式或方法時使用取地址符實際上並不會按引用傳遞它們。在上面的示例中,$myVariable 沒有被 modifyValue 函式修改,因為它按值而不是按引用傳遞。在這種情況下,取地址符是一個語法錯誤,不應用於按引用傳遞變數。

要透過引用傳遞變數,您應該使用我解釋的第一種方法,即在函式/方法宣告中使用取地址符。這確保變數明確地按引用傳遞,並允許您在函式或方法中修改原始變數。

結論

在 PHP 中,可以透過在函式/方法宣告中或在將變數傳遞給函式/方法時使用取地址符來按引用傳遞變數。這兩種方法都能達到允許修改原始變數的效果。選擇哪種方法取決於您的編碼風格和偏好。需要注意的是,應該謹慎使用按引用傳遞變數,以避免意外的副作用並確保程式碼清晰。

更新於:2023年7月28日

799 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告