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 相关文章推荐
一个用php3编写的简单计数器
Oct 09 PHP
php格式输出文件var_export函数实例
Nov 15 PHP
php中ftp_chdir与ftp_cdup函数用法
Nov 18 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 PHP
php实现mysql数据库连接操作及用户管理
Nov 08 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
Dec 18 PHP
php实现的SSO单点登录系统接入功能示例分析
Oct 12 PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 PHP
PHP实现与java 通信的插件使用教程
Aug 11 PHP
php解决安全问题的方法实例
Sep 19 PHP
解决laravel 表单提交-POST 异常的问题
Oct 15 PHP
YII2框架中actions的作用与使用方法示例
Mar 13 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下将图片以二进制存入mysql数据库中并显示的实现代码
2010/05/27 PHP
php将fileterms函数返回的结果变成可读的形式
2011/04/21 PHP
php中随机函数mt_rand()与rand()性能对比分析
2014/12/01 PHP
php实现每天自动变换随机问候语的方法
2015/05/12 PHP
PHP实现远程下载文件到本地
2015/05/17 PHP
php UNIX时间戳用法详解
2017/02/16 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
用JS写的一个TableView控件代码
2010/01/23 Javascript
类似GMAIL的Ajax信息反馈显示
2010/02/16 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
jQuery阻止事件冒泡具体实现
2013/10/11 Javascript
jQuery对下拉框,单选框,多选框的操作
2014/02/21 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
JS实现CheckBox复选框全选、不选或全不选功能
2020/07/28 Javascript
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
简单的JS控制button颜色随点击更改的实现方法
2017/04/17 Javascript
jQuery查找dom的几种方法效率详解
2017/05/17 jQuery
如何抽象一个Vue公共组件
2017/10/17 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
解决Vue-Router升级导致的Uncaught (in promise)问题
2020/08/07 Javascript
解决Vue项目中tff报错的问题
2020/10/21 Javascript
JavaScript 绘制饼图的示例
2021/02/19 Javascript
从零学python系列之从文件读取和保存数据
2014/05/23 Python
Python 类与元类的深度挖掘 II【经验】
2016/05/06 Python
OpenCV python sklearn随机超参数搜索的实现
2020/01/17 Python
深入浅析pycharm中 Make available to all projects的含义
2020/09/15 Python
思想汇报格式
2014/01/05 职场文书
送餐员岗位职责范本
2014/02/21 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
公司中层干部的自我评价分享
2014/03/01 职场文书
公司试用期员工自我评价
2014/09/17 职场文书
意外伤害赔偿协议书范本
2014/09/28 职场文书
工会积极分子个人总结
2015/03/03 职场文书
大一新生军训新闻稿
2015/07/17 职场文书
组织委员竞选稿
2015/11/21 职场文书
深入理解go slice结构
2021/09/15 Golang