|
在php中編寫函數,一般情況下調用函數的時候,改變的值都是形參而不是實參.但是如果在形參中加入地址符時候就會改變實參的值,為什么?
請看下面的例子:
復制代碼 代碼如下:
<?php
//編寫一個函數swap(),測試該函數的實參值無改變
function swap($a,$b) {
echo "<p>進入swqp()函數前<br>/n";
echo "交換前:形參a=$a,形參b=$b<br>/n";
$c=$b;
$a=$b;
$b=$c;
echo "交換后:形參a=$a,形參b=$b<br>/n";
echo "退出swap()函數<br></p>/n";
}
$variablea=5;
$variableb=10;
echo "調用swap()函數前: ";
echo "實參a=$variablea,實參b=$variableb<br>/n";
swap($variablea,$variableb);
echo "調用swap()函數后: ";
echo "實參a=$variablea,實參b=$variableb<br>/n";
?>
復制代碼 代碼如下:
<?php
//測試swap()函數實參的值改變
function swap1(&$a,&$b) {
echo "<p>進入swap1()函數<br>/n";
echo "交換前: 形參a=$a,形參b=$b<br>/n";
$c=$b;
$a=$b;
$b=$c;
echo "交換后: 形參a=$a,形參b=$b<br>/n";
echo "退出swap()函數<br></p>/n";
}
$variablea=5;
$variableb=10;
echo "調用swap1()函數前: ";
echo "實參a=$variablea,實參b=$variableb<br>/n";
swap1($variablea,$variableb);
echo "調用swap1()函數后: ";
echo "實參a=$variablea,實參b=$variableb<br>/n";
?>
//上面的兩個例子就是說明,求教了~~~
php技術:php中函數的形參與實參的問題說明,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。