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 相关文章推荐
php 编写安全的代码时容易犯的错误小结
May 20 PHP
PHP如何解决网站大流量与高并发的问题
Jun 25 PHP
腾讯QQ微博API接口获取微博内容
Oct 30 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
Nov 12 PHP
PHP中使用localhost连接Mysql不成功的解决方法
Aug 20 PHP
php实现字符串首字母转换成大写的方法
Mar 17 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
Jan 03 PHP
功能强大的php文件上传类
Aug 29 PHP
php中strlen和mb_strlen用法实例分析
Nov 12 PHP
PHP树形结构tree类用法示例
Feb 01 PHP
php测试kafka项目示例
Feb 06 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 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
用户的详细注册和判断
2006/10/09 PHP
一周让你学会PHP 不错的学习资料
2009/02/06 PHP
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
2011/07/18 PHP
php向js函数传参的几种方法
2014/08/10 PHP
javascript innerHTML、outerHTML、innerText、outerText的区别
2008/11/24 Javascript
关于jQuery UI 使用心得及技巧
2012/10/10 Javascript
Javascript实现的常用算法(如冒泡、快速、鸽巢、奇偶等)
2014/04/29 Javascript
微信分享的标题、缩略图、连接及描述设置方法
2014/10/14 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
基于jQuery实现简单的折叠菜单效果
2015/11/23 Javascript
JS上传图片预览插件制作(兼容到IE6)
2016/08/07 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
js实现华丽的九九乘法表效果
2017/03/29 Javascript
Angular实现响应式表单
2017/08/04 Javascript
基于js Canvas实现二次贝塞尔曲线
2018/12/25 Javascript
微信小程序使用setData修改数组中单个对象的方法分析
2018/12/30 Javascript
vue根据条件不同显示不同按钮的操作
2020/08/04 Javascript
node.js爬虫框架node-crawler初体验
2020/10/29 Javascript
5种Python单例模式的实现方式
2016/01/14 Python
Python引用计数操作示例
2018/08/23 Python
Python常用模块之requests模块用法分析
2019/05/15 Python
Django上使用数据可视化利器Bokeh解析
2019/07/31 Python
python统计函数库scipy.stats的用法解析
2020/02/25 Python
基于python实现FTP文件上传与下载操作(ftp&amp;sftp协议)
2020/04/01 Python
Python读入mnist二进制图像文件并显示实例
2020/04/24 Python
python实现学生通讯录管理系统
2021/02/25 Python
365 Tickets英国:全球景点门票
2019/07/06 全球购物
求职推荐信
2013/10/28 职场文书
大学自我鉴定
2013/12/20 职场文书
目标责任书范文
2014/04/14 职场文书
小学生评语集锦
2014/04/18 职场文书
小学生学雷锋演讲稿
2014/04/25 职场文书
副校长竞聘演讲稿
2014/09/01 职场文书
2015年春节标语口号
2014/12/09 职场文书
OpenCV全景图像拼接的实现示例
2021/06/05 Python
详解JAVA中的OPTIONAL
2021/06/14 Java/Android