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仿ZOL分页类代码
Oct 02 PHP
sql注入与转义的php函数代码
Jun 17 PHP
PHP实现采集中国天气网未来7天天气
Oct 15 PHP
PHP简单选择排序算法实例
Jan 26 PHP
PHP汉字转换拼音的函数代码
Dec 30 PHP
Zend Framework实现多服务器共享SESSION数据的方法
Mar 22 PHP
php阳历转农历优化版
Aug 08 PHP
PHP 将dataurl转成图片image方法总结
Oct 14 PHP
Yii 2.0如何使用页面缓存方法示例
May 23 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
Sep 30 PHP
Laravel开启跨域请求的方法
Oct 13 PHP
浅谈如何提高PHP代码质量之单元测试
May 28 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 表单提交给自己
2008/07/24 PHP
PHP中输出转义JavaScript代码的实现代码
2011/04/22 PHP
phpcms模块开发之swfupload的使用介绍
2013/04/28 PHP
关于php支持分块与断点续传文件下载功能代码
2014/05/09 PHP
一个完整的php文件上传类实例讲解
2015/10/27 PHP
谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
2015/11/10 PHP
php表单提交实例讲解
2015/11/12 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
文本框输入时 实现自动提示(像百度、google一样)
2012/04/05 Javascript
你必须知道的Javascript知识点之&quot;深入理解作用域链&quot;的介绍
2013/04/23 Javascript
10条建议帮助你创建更好的jQuery插件
2015/05/18 Javascript
Jquery鼠标放上去显示全名的实现方法
2017/02/06 Javascript
weex里Vuex state使用storage持久化详解
2017/09/09 Javascript
jQuery响应滚动条事件功能示例
2017/10/14 jQuery
Vue.js项目中管理每个页面的头部标签的两种方法
2018/06/25 Javascript
实例详解vue.js浅度监听和深度监听及watch用法
2018/08/16 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
基于JavaScript实现表格隔行换色
2020/05/08 Javascript
[03:42]2016国际邀请赛中国区预选赛首日现场玩家采访
2016/06/26 DOTA
Python urllib、urllib2、httplib抓取网页代码实例
2015/05/09 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
Python日志:自定义输出字段 json格式输出方式
2020/04/27 Python
Python selenium模块实现定位过程解析
2020/07/09 Python
安装不同版本的tensorflow与models方法实现
2021/02/20 Python
html5视频播放_动力节点Java学院整理
2017/07/13 HTML / CSS
HTML5 标准将把互联网视频扔回到黑暗时代
2010/02/10 HTML / CSS
No7 Beauty美国官网:英国国民护肤品牌
2019/10/31 全球购物
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
采购文员岗位职责
2013/11/20 职场文书
《我的第一本书》教学反思
2014/02/15 职场文书
期末评语大全
2014/05/04 职场文书
工程部岗位职责
2015/02/10 职场文书
求职简历自我评价怎么写
2015/03/10 职场文书
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
2021/06/04 Oracle
恶魔之树最顶端的三颗果实 震震果实上榜,第一可以制造岩浆
2022/03/18 日漫