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框架的性能
Jan 10 PHP
在PHP中养成7个面向对象的好习惯
Jul 17 PHP
php后台多用户权限组思路与实现程序代码分享
Feb 13 PHP
PHP遍历数组的几种方法
Mar 22 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
Jul 16 PHP
使用php显示搜索引擎来的关键词
Feb 13 PHP
浅析php中json_encode()和json_decode()
May 25 PHP
PHP中使用imagick生成PSD文件缩略图教程
Jan 26 PHP
PHP使用http_build_query()构造URL字符串的方法
Apr 02 PHP
Yii2 assets清除缓存的方法
May 16 PHP
PHP常用文件操作函数和简单实例分析
Jun 03 PHP
php封装的图片(缩略图)处理类完整实例
Oct 19 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 多进程 解决难题
2009/06/22 PHP
php ob_flush,flush在ie中缓冲无效的解决方法
2010/05/09 PHP
PHP项目开发中最常用的自定义函数整理
2010/12/02 PHP
PHP中如何调用webservice的实例参考
2013/04/25 PHP
深入php var_dump()函数的详解
2013/06/05 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
2016/03/10 PHP
PHP+JS实现的商品秒杀倒计时用法示例
2016/11/15 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
ie和firefox不兼容的解决方法集合
2009/04/28 Javascript
firefox下frameset取不到值的解决方法
2010/09/06 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
2016/01/22 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
js 实现watch监听数据变化的代码
2019/10/13 Javascript
Javascript异步流程控制之串行执行详解
2020/09/27 Javascript
在Angular项目使用socket.io实现通信的方法
2021/01/05 Javascript
详解React中共享组件逻辑的三种方式
2021/02/02 Javascript
基于Python实现的扫雷游戏实例代码
2014/08/01 Python
python实现读取大文件并逐行写入另外一个文件
2018/04/19 Python
Python中栈、队列与优先级队列的实现方法
2019/06/30 Python
Python3 A*寻路算法实现方式
2019/12/24 Python
Jupyter notebook快速入门教程(推荐)
2020/05/18 Python
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
计算机开发个人求职信范文
2013/09/26 职场文书
教师实习期自我鉴定
2013/10/06 职场文书
简历中自我评价分享
2013/10/09 职场文书
社区十八大感言
2014/01/19 职场文书
网络书店创业计划书
2014/02/07 职场文书
《日月潭》教学反思
2014/02/28 职场文书
厂办主管岗位职责范本
2014/02/28 职场文书
潘婷洗发水广告词
2014/03/14 职场文书
实习介绍信范文
2015/05/05 职场文书
撤诉书怎么写
2015/05/19 职场文书
心术观后感
2015/06/11 职场文书
公司安全管理制度范本
2015/08/05 职场文书
创业计划书之面包店
2019/09/17 职场文书