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


Posted in PHP onSeptember 01, 2010

当实参个数<形参个数 时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的伪分页
May 25 PHP
php 分库分表hash算法
Nov 12 PHP
php设计模式 Singleton(单例模式)
Jun 26 PHP
curl实现站外采集的方法和技巧
Jan 31 PHP
PHP常用编译参数中文说明
Sep 27 PHP
PHP回溯法解决0-1背包问题实例分析
Mar 23 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
Oct 16 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
Jan 08 PHP
Yii模型操作之criteria查找数据库的方法
Jul 15 PHP
PHP7中I/O模型内核剖析详解
Apr 14 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
May 02 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
Aug 06 PHP
php数据库连接时容易出错的特殊符号问题
Sep 01 #PHP
PHP下利用header()函数设置浏览器缓存的代码
Sep 01 #PHP
使用bcompiler对PHP文件进行加密的代码
Aug 29 #PHP
php采集时被封ip的解决方法
Aug 29 #PHP
PHP isset()与empty()的使用区别详解
Aug 29 #PHP
php Notice: Undefined index 错误提示解决方法
Aug 29 #PHP
php下统计用户在线时间的一种尝试
Aug 26 #PHP
You might like
PHP如何编写易读的代码
2007/07/10 PHP
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
2011/07/12 PHP
使用PHP生成二维码的两种方法(带logo图像)
2014/03/14 PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
2014/06/12 PHP
php获取访问者IP地址汇总
2015/04/24 PHP
PHP实现过滤各种HTML标签
2015/05/17 PHP
apache和PHP如何整合在一起
2015/10/12 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
2015/12/10 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
js 图片轮播(5张图片)
2008/12/30 Javascript
jQuery1.4.2与老版本json格式兼容的解决方法
2011/02/12 Javascript
js仿百度有啊通栏展示效果实现代码
2013/05/28 Javascript
24款热门实用的jQuery插件推荐
2014/12/24 Javascript
javascript 数组去重复(在线去重工具)
2016/12/17 Javascript
vue2.0实现导航菜单切换效果
2017/05/08 Javascript
vue.js选中动态绑定的radio的指定项
2017/06/02 Javascript
vue2中filter()的实现代码
2017/07/09 Javascript
关于Vue实现组件信息的缓存问题
2017/08/23 Javascript
判断div滑动到底部的scroll实例代码
2017/11/15 Javascript
基于JavaScript实现控制下拉列表
2020/05/08 Javascript
详解python单例模式与metaclass
2016/01/15 Python
python 读写txt文件 json文件的实现方法
2016/10/22 Python
Python内置模块ConfigParser实现配置读写功能的方法
2018/02/12 Python
Kali Linux安装ipython2 和 ipython3的方法
2019/07/11 Python
美国女鞋品牌:naturalizer(娜然)
2016/08/01 全球购物
迪拜航空官方网站:flydubai
2017/04/20 全球购物
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
实习期自我鉴定
2013/10/11 职场文书
理货员的岗位职责
2013/11/23 职场文书
运动会开幕式邀请函
2014/01/22 职场文书
个人实习生的自我评价
2014/02/16 职场文书
大学生万能检讨书范例
2014/10/04 职场文书
个人查摆问题自查报告
2014/10/16 职场文书
事业单位工作人员2015年度思想工作总结
2015/10/15 职场文书
mysql如何查询连续记录
2022/05/11 MySQL