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制作图型计数器的例子
Oct 09 PHP
精美漂亮的php分页类代码
Apr 02 PHP
叫你如何修改Nginx与PHP的文件上传大小限制
Sep 10 PHP
PHP将字符分解为多个字符串的方法
Nov 22 PHP
php发送与接收流文件的方法
Feb 11 PHP
php取得字符串首字母的方法
Mar 25 PHP
PHP实现的迷你漂流瓶
Jul 29 PHP
PHP中Http协议post请求参数
Nov 02 PHP
PHP之将POST数据转化为字符串的实现代码
Nov 03 PHP
thinkPHP引入类的方法详解
Dec 08 PHP
thinkPHP实现签到功能的方法
Mar 15 PHP
php中文乱码问题的终极解决方案汇总
Aug 01 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执行zip与rar解压缩方法实现代码
2010/12/05 PHP
利用php递归实现无限分类 格式化数组的详解
2013/06/08 PHP
php像数组一样存取和修改字符串字符
2014/03/21 PHP
PHP时间处理类操作示例
2018/09/05 PHP
PHP 数组黑名单/白名单实例代码详解
2019/06/04 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
2019/07/15 PHP
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
2010/12/10 Javascript
Javascript 运动中Offset的bug解决方案
2014/12/24 Javascript
js控制多图左右滚动切换效果代码分享
2015/08/26 Javascript
RequireJS多页面应用实例分析
2016/06/29 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
2016/09/14 Javascript
vue实现文章内容过长点击阅读全文功能的实例
2017/12/28 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
2020/05/28 Javascript
JavaScript键盘事件常见用法实例分析
2019/01/03 Javascript
详解Vue中的基本语法和常用指令
2019/07/23 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
2019/11/13 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
[01:18:43]2014 DOTA2华西杯精英邀请赛5 24 iG VS DK
2014/05/25 DOTA
[35:26]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第三局
2016/02/26 DOTA
把MySQL表结构映射为Python中的对象的教程
2015/04/07 Python
Python列表删除的三种方法代码分享
2017/10/31 Python
python 3.6 +pyMysql 操作mysql数据库(实例讲解)
2017/12/20 Python
Python找出最小的K个数实例代码
2018/01/04 Python
对python pandas读取剪贴板内容的方法详解
2019/01/24 Python
从numpy数组中取出满足条件的元素示例
2019/11/26 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
使用Python将xmind脑图转成excel用例的实现代码(一)
2020/10/12 Python
Python django框架 web端视频加密的实例详解
2020/11/20 Python
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
Carolina工作鞋官网:Carolina Footwear
2019/03/14 全球购物
外贸实习生自荐信范文
2013/11/24 职场文书
2014国庆65周年领导讲话稿(3篇)
2014/09/21 职场文书
先进个人申报材料
2014/12/30 职场文书
教学工作总结范文5篇
2019/08/19 职场文书
微软Win11什么功能最惊艳? Windows11新功能特性汇总
2021/11/21 数码科技