php中函数的形参与实参的问题说明
2018-10-12 14:08
155 查看
当实参个数<形参个数 时php会发出警告,因为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";
?>
//上面的两个例子就是说明,求教了~~~
您可能感兴趣的文章:
相关文章推荐
- php中函数的形参与实参的问题说明
- JS与PHP在函数传参方面有点不同,PHP形参与实参个数要匹配,而JS就灵活多了,可以随意传参,实参比形参少或多都不会报错
- PHP-函数-mb_strlen函数由于版本问题导致中文字符截断问题
- 【Wordpress】以修改文章页面single.php下的评论栏说明一些Wordpress的函数与页面
- javascript和PHP对于函数处理问题是不是一样的呢?
- PHP中关于在函数内引用全局变量的问题
- php header()函数使用说明
- php使用fputcsv()函数csv文件读写数据的方法(解决中文乱码问题)
- PHP中header()函数使用说明
- PHP操作MongoDB时的整数问题及对策说明
- php 魔术函数使用说明
- PHP执行linux系统命令的常用函数使用说明
- PHP中exec、system等函数调用linux命令问题
- php header()函数使用说明
- 【转】PHP常用库函数介绍+常见疑难问题解答
- 2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
- PHP常用库函数介绍+常见疑难问题解答
- PHP中关于在函数内引用全局变量的问题
- php 常用函数使用说明
- PHP问题:js中的encodeURIcomponent 函数在php如何实现?