PHP 中函數呼叫既可使用值傳遞也可使用參考傳遞。預設為值傳遞,函數接收參數的副本,對其修改不影響原始值。而引用傳遞則透過在參數前面加上 & 符號來聲明,函數直接修改傳遞的變數。引用傳遞在需要函數修改外部變數時很有用,例如修改陣列元素。
在PHP 中,預設情況下,函數調用使用值傳遞。這意味著當一個值作為參數傳遞給函數時,函數將獲得該值的副本。對該副本所做的任何變更都不會影響原始值。
function addValue($number) { $number += 10; } $value = 10; addValue($value); echo $value; // 输出:10
如上例所示,當 $value
傳遞給 addValue
函數時,函數會取得該變數的副本。函數內的修改只影響該副本,不會影響原始變數。
有時,我們需要函數直接修改原始變數。這時,可以使用引用傳遞。若要宣告引用,請在參數類型宣告前面加上一個 &
符號。
function addReference(&$number) { $number += 10; } $value = 10; addReference($value); echo $value; // 输出:20
如上例所示,addReference
函數的 $number
參數宣告為參考。這意味著函數將直接修改傳遞的變數。
使用引用傳遞可以簡化某些任務。例如,我們有一個包含使用者資料的數組,並且需要在函數中對其進行修改。
$users = [ [ 'id' => 1, 'name' => 'John Doe', ], ]; function changeName(&$user, $newName) { $user['name'] = $newName; } changeName($users[0], 'Jane Doe'); echo $users[0]['name']; // 输出:Jane Doe
透過將 $user
參數宣告為引用,changeName
函數可以直接修改陣列中的原始元素。
在 PHP 中了解值傳遞和引用傳遞對於編寫高效和可維護的程式碼至關重要。透過使用引用傳遞,我們可以避免不必要的變數複製,並直接修改函數外部的變數。
以上是揭秘 PHP 函數呼叫中的值傳遞與引用傳遞的詳細內容。更多資訊請關注PHP中文網其他相關文章!