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实现的生成静态HTML速度快类库
Mar 31 PHP
php array的学习笔记
May 10 PHP
Drupal7 form表单二次开发要点与实例
Mar 02 PHP
php实例分享之二维数组排序
May 15 PHP
php页面函数设置超时限制的方法
Dec 01 PHP
windows下配置php5.5开发环境及开发扩展
Dec 25 PHP
php程序内部post数据的方法
Mar 31 PHP
PHP的serialize序列化数据以及JSON格式化数据分析
Oct 10 PHP
功能强大的PHP发邮件类
Aug 29 PHP
微信支付之JSAPI公众号支付详解
May 15 PHP
基于laravel where的高级使用方法
Oct 10 PHP
微信小程序发送订阅消息的方法(php 为例)
Oct 30 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
PHP4之COOKIE支持详解
2006/10/09 PHP
简单的过滤字符串中的HTML标记
2006/12/25 PHP
Http 1.1 Etag 与 Last-Modified提高php效率
2008/01/10 PHP
一个PHP的QRcode类与大家分享
2011/11/13 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
2014/06/26 PHP
PHP parse_ini_file函数的应用与扩展操作示例
2019/01/07 PHP
PHP应用跨时区功能的实现方法
2019/03/21 PHP
ext combox 下拉框不出现自动提示,自动选中的解决方法
2010/02/24 Javascript
JavaScript模板入门介绍
2012/09/26 Javascript
jQuery 追加元素的方法如append、prepend、before
2014/01/16 Javascript
创建js对象和js类的方法汇总
2014/12/24 Javascript
js实现进度条的方法
2015/02/13 Javascript
使用canvas实现仿新浪微博头像截取上传功能
2015/09/02 Javascript
JavaScript判断FileUpload控件上传文件类型
2015/09/28 Javascript
jQuery Mobile操作HTML5的常用函数总结
2016/05/17 Javascript
AngularJS基础 ng-dblclick 指令用法
2016/08/01 Javascript
js实现精确到毫秒的倒计时效果
2016/08/05 Javascript
jQuery生成假加载动画效果
2016/12/01 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
Python+tkinter使用80行代码实现一个计算器实例
2018/01/16 Python
pandas 条件搜索返回列表的方法
2018/10/30 Python
在Python中获取两数相除的商和余数方法
2018/11/10 Python
Python实现性能自动化测试竟然如此简单
2019/07/30 Python
Django shell调试models输出的SQL语句方法
2019/08/29 Python
tensorflow 只恢复部分模型参数的实例
2020/01/06 Python
python实现3D地图可视化
2020/03/25 Python
python Xpath语法的使用
2020/11/26 Python
如何在vscode中安装python库的方法步骤
2021/01/06 Python
Web前端绘制0.5像素的几种方法
2017/08/11 HTML / CSS
美体小铺美国官网:The Body Shop美国
2017/11/10 全球购物
美国儿童珠宝在线零售商:Loveivy
2019/05/22 全球购物
初中教师业务学习材料
2014/05/12 职场文书
汽车检测与维修专业求职信
2014/07/04 职场文书
省委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
教你做个可爱的css滑动导航条
2021/06/15 HTML / CSS