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 18 PHP
PHP gbk环境下json_dencode传送来的汉字
Nov 13 PHP
PHP中如何实现常用邮箱的基本判断
Jan 07 PHP
php获取mysql字段名称和其它信息的例子
Apr 14 PHP
php输入流php://input使用浅析
Sep 02 PHP
thinkphp实现上一篇与下一篇的方法
Dec 08 PHP
php中ob_flush函数和flush函数用法分析
Mar 18 PHP
php实现json编码的方法
Jul 30 PHP
Thinkphp实现自动验证和自动完成
Dec 19 PHP
php+jQuery+Ajax简单实现页面异步刷新
Aug 08 PHP
php版微信js-sdk支付接口类用法示例
Oct 12 PHP
Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
Oct 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
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
2014/06/09 PHP
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
php中smarty区域循环的方法
2015/06/11 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
2017/08/07 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
PHP中有关长整数的一些操作教程
2019/09/11 PHP
PHP 图片合成、仿微信群头像的方法示例
2019/10/25 PHP
javascript document.images实例
2008/05/27 Javascript
一个JavaScript的求爱小特效
2014/05/09 Javascript
javascript实现客户端兼容各浏览器创建csv并下载的方法
2015/03/23 Javascript
vue + socket.io实现一个简易聊天室示例代码
2017/03/06 Javascript
JS判断一个数是否是水仙花数
2017/06/11 Javascript
微信小程序中吸底按钮适配iPhone X方案
2017/11/29 Javascript
React styled-components设置组件属性的方法
2018/08/07 Javascript
nodejs处理tcp连接的核心流程
2021/02/26 NodeJs
[01:06]DOTA2亚洲邀请赛专属珍藏-荧煌之礼
2017/03/24 DOTA
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
Python爬虫框架Scrapy基本用法入门教程
2018/07/26 Python
用django设置session过期时间的方法解析
2019/08/05 Python
pyinstaller打包找不到文件的问题解决
2020/04/15 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
python如何实现图片压缩
2020/09/11 Python
css3中flex布局宽度不生效的解决
2020/12/09 HTML / CSS
What is the purpose of Void class? Void类的作用是什么?
2016/10/31 面试题
写一个方法1000的阶乘
2012/11/21 面试题
英语商务邀请函范文
2014/01/16 职场文书
高中社区服务活动报告
2015/02/05 职场文书
个人党性锻炼总结
2015/03/05 职场文书
大学生军训感言
2015/08/01 职场文书
Pytorch反向传播中的细节-计算梯度时的默认累加操作
2021/06/05 Python
利用python调用摄像头的实例分析
2021/06/07 Python
Python进程间的通信之语法学习
2022/04/11 Python
python中urllib包的网络请求教程
2022/04/19 Python