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