在定义或者使用php函数时,应该注意形参个数和实参个数的对应关系。 当实参个数<形参个数 时php会发出警告,因为php的解释机制会认为,有参数被定义了却没有被使用,那很可能会影响函数的功能。所以会发出警告。然而,当 实参个数>形参个数 时,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"; ?>
|