当实参个数形参个数 时,php是不会报/本2文来源[email protected]搞@^&代*@码2网搞gaodaima代码错的,它只会取前面的几个参数,多余的则将会丢弃。
在PHP中编写函数,一般情况下调用函数的时候,改变的值都是形参而不是实参.但是如果在形参中加入地址符时候就会改变实参的值,为什么?
请看下面的例子:
<BR><?php <BR>//编写一个函数swap(),测试该函数的实参值无改变 <BR>function swap($a,$b) { <BR>echo "<p>进入swqp()函数前<br>\n"; <BR>echo "交换前:形参a=$a,形参b=$b<br>\n"; <BR>$c=$b; <BR>$a=$b; <BR>$b=$c; <BR>echo "交换后:形参a=$a,形参b=$b<br>\n"; <BR>echo "退出swap()函数<br></p>\n"; <BR>} <BR>$variablea=5; <BR>$variableb=10; <BR>echo "调用swap()函数前: "; <BR>echo "实参a=$variablea,实参b=$variableb<br>\n"; <BR>swap($variablea,$variableb); <BR>echo "调用swap()函数后: "; <BR>echo "实参a=$variablea,实参b=$variableb<br>\n"; <BR>?> <BR>
<BR><?php <BR>//测试swap()函数实参的值改变 <BR>function swap1(&$a,&$b) { <BR>echo "<p>进入swap1()函数<br>\n"; <BR>echo "交换前: 形参a=$a,形参b=$b<br>\n"; <BR>$c=$b; <BR>$a=$b; <BR>$b=$c; <BR>echo "交换后: 形参a=$a,形参b=$b<br>\n"; <BR>echo "退出swap()函数<br></p>\n"; <BR>} <br><br>$variablea=5; <BR>$variableb=10; <BR>echo "调用swap1()函数前: "; <BR>echo "实参a=$variablea,实参b=$variableb<br>\n"; <BR>swap1($variablea,$variableb); <BR>echo "调用swap1()函数后: "; <BR>echo "实参a=$variablea,实参b=$variableb<br>\n"; <BR>?> <BR>
//上面的两个例子就是说明,求教了~~~