在PHP中,傳值和傳引用是傳遞參數的兩種方式。
當使用傳值方式傳遞參數時,函數會創建一個參數的副本,然后將副本傳遞給函數。在函數內部,對參數的任何修改都不會影響到原始的變量。
例如:
function increment($num) {
$num++;
}
$number = 5;
increment($number);
echo $number; // 輸出 5
在上面的例子中,雖然在函數內部對$num
進行了自增操作,但是這并不會影響到原始的$number
變量。
相反,當使用傳引用方式傳遞參數時,函數會接收到原始變量的引用,可以直接修改原始的變量。
例如:
function increment(&$num) {
$num++;
}
$number = 5;
increment($number);
echo $number; // 輸出 6
在上面的例子中,通過在參數前加上&
符號,將參數設置為引用傳遞。這樣,在函數內部對$num
進行自增操作會直接影響到原始的$number
變量。
總結起來,傳值方式傳遞參數時,函數會對參數進行復制,不會影響原始的變量。而傳引用方式傳遞參數時,函數接收到的是原始變量的引用,可以直接修改原始的變量。