当前位置:Gxlcms > PHP教程 > php中函数的形参与实参的问题说明_php技巧

php中函数的形参与实参的问题说明_php技巧

时间:2021-07-01 10:21:17 帮助过:11人阅读

当实参个数<形参个数 时php会发出警告,因为php的解释机制会认为,有参数被定义了却没有被使用,那很可能会影响函数的功能。所以会发出警告。然而,当 实参个数>形参个数 时,php是不会报错的,它只会取前面的几个参数,多余的则将会丢弃。

在PHP中编写函数,一般情况下调用函数的时候,改变的值都是形参而不是实参.但是如果在形参中加入地址符时候就会改变实参的值,为什么?

请看下面的例子:
代码如下:
  1. <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><span><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><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> <br>//上面的两个例子就是说明,求教了~~~ </li></ol></pre>

人气教程排行