php中函数的形参与实参的问题说明
作者:bea
当实参个数<形参个数 时php会发出警告,因为php的解释机制会认为,有参数被定义了却没有被使用,那很可能会影响函数的功能。所以会发出警告。然而,当 实参个数>形参个数 时,php是不会报错的,它只会取前面的几个参数,多余的则将会丢弃。 在PHP中编写函数,一般情况下调用函数的时候,改变的值都是形参而不是实参.但是如果在形参中加入地址符时候就会改变实参的值,为什么? 请看下面的例子: 代码如下: <?php //编写一个函数swap(),测试该函数的
当实参个数<形参个数 时php会发出警告,因为php的解释机制会认为,有参数被定义了却没有被使用,那很可能会影响函数的功能。所以会发出警告。然而,当 实参个数>形参个数 时,php是不会报错的,它只会取前面的几个参数,多余的则将会丢弃。
在PHP中编写函数,一般情况下调用函数的时候,改变的值都是形参而不是实参.但是如果在形参中加入地址符时候就会改变实参的值,为什么?
请看下面的例子:
代码如下:
<?php
//编写一个函数swap(),测试该函数的实参值无改变
function swap($a,$b) {
echo "<p>进入swqp()函数前<br>
";
echo "交换前:形参a=$a,形参b=$b<br>
";
$c=$b;
$a=$b;
$b=$c;
echo "交换后:形参a=$a,形参b=$b<br>
";
echo "退出swap()函数<br></p>
";
}
$variablea=5;
$variableb=10;
echo "调用swap()函数前: ";
echo "实参a=$variablea,实参b=$variableb<br>
";
swap($variablea,$variableb);
echo "调用swap()函数后: ";
echo "实参a=$variablea,实参b=$variableb<br>
";
?>
代码如下:
<?php
//测试swap()函数实参的值改变
function swap1(&$a,&$b) {
echo "<p>进入swap1()函数<br>
";
echo "交换前: 形参a=$a,形参b=$b<br>
";
$c=$b;
$a=$b;
$b=$c;
echo "交换后: 形参a=$a,形参b=$b<br>
";
echo "退出swap()函数<br></p>
";
}
$variablea=5;
$variableb=10;
echo "调用swap1()函数前: ";
echo "实参a=$variablea,实参b=$variableb<br>
";
swap1($variablea,$variableb);
echo "调用swap1()函数后: ";
echo "实参a=$variablea,实参b=$variableb<br>
";
?>
//上面的两个例子就是说明,求教了~~~
有用 | 无用
在PHP中编写函数,一般情况下调用函数的时候,改变的值都是形参而不是实参.但是如果在形参中加入地址符时候就会改变实参的值,为什么?
请看下面的例子:
代码如下:
<?php
//编写一个函数swap(),测试该函数的实参值无改变
function swap($a,$b) {
echo "<p>进入swqp()函数前<br>
";
echo "交换前:形参a=$a,形参b=$b<br>
";
$c=$b;
$a=$b;
$b=$c;
echo "交换后:形参a=$a,形参b=$b<br>
";
echo "退出swap()函数<br></p>
";
}
$variablea=5;
$variableb=10;
echo "调用swap()函数前: ";
echo "实参a=$variablea,实参b=$variableb<br>
";
swap($variablea,$variableb);
echo "调用swap()函数后: ";
echo "实参a=$variablea,实参b=$variableb<br>
";
?>
代码如下:
<?php
//测试swap()函数实参的值改变
function swap1(&$a,&$b) {
echo "<p>进入swap1()函数<br>
";
echo "交换前: 形参a=$a,形参b=$b<br>
";
$c=$b;
$a=$b;
$b=$c;
echo "交换后: 形参a=$a,形参b=$b<br>
";
echo "退出swap()函数<br></p>
";
}
$variablea=5;
$variableb=10;
echo "调用swap1()函数前: ";
echo "实参a=$variablea,实参b=$variableb<br>
";
swap1($variablea,$variableb);
echo "调用swap1()函数后: ";
echo "实参a=$variablea,实参b=$variableb<br>
";
?>
//上面的两个例子就是说明,求教了~~~
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- zen cart新进商品的随机排序修改方法
- windows中PHP5.2.14以及apache2.2.16安装配置方法
- php表单转换textarea换行符的方法
- PHPnow安装服务[apache_pn]失败的问题的解决方法
- php下使用curl模拟用户登陆的代码
- PHP获取表单textarea数据中的换行问题
- php header示例代码(推荐)
- php下清空字符串中的HTML标签的代码
- 在PHP中PDO解决中文乱码问题的一些补充
- 检测png图片是否完整的php代码
- 晋城吧对DiscuzX进行的前端优化要点
- 用PHP将数据导入到Foxmail的实现代码
- 提高PHP编程效率的53个要点(经验小结)
- 队列在编程中的实际应用(php)
- php生成随机密码的三种方法小结
- PHP安全技术之 实现php基本安全
- 小文件php+SQLite存储方案
- PHP中文件上传的一个问题
- PHP程序员面试 切忌急功近利(更需要注重以后的发展)