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