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控制用户的浏览器--ob*函数的使用说明
Mar 16 PHP
php.ini中date.timezone设置分析
Jul 29 PHP
PHP MySQL应用中使用XOR运算加密算法分享
Aug 28 PHP
浅谈php serialize()与unserialize()的用法
Jun 05 PHP
解析php addslashes()与addclashes()函数的区别和比较
Jun 24 PHP
php除数取整示例
Apr 24 PHP
PHP封装分页函数实现文本分页和数字分页
Oct 23 PHP
如何用PHP来实现一个动态Web服务器
Jul 29 PHP
php 问卷调查结果统计
Oct 08 PHP
基于PHP-FPM进程池探秘
Oct 17 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
Feb 19 PHP
yii2 在控制器中验证请求参数的使用方法
Jun 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简单实现冒泡排序的方法
2016/12/26 PHP
PHP清除缓存的几种方法总结
2017/09/12 PHP
浅谈PHP匿名函数和闭包
2019/03/08 PHP
ext form 表单提交数据的方法小结
2008/08/08 Javascript
jQuery 获取对象 基本选择与层级
2010/05/31 Javascript
Javascript基础教程之变量
2015/01/18 Javascript
JavaScript小技巧整理
2015/12/30 Javascript
在html中引入外部js文件,并调用带参函数的方法
2016/10/31 Javascript
微信小程序 安全包括(框架、功能模块、账户使用)详解
2017/01/16 Javascript
JS数组搜索之折半搜索实现方法分析
2017/03/27 Javascript
BootStrap 获得轮播中的索引和当前活动的焦点对象
2017/05/11 Javascript
JavaScript表单即时验证 验证不成功不能提交
2017/08/31 Javascript
vue之父子组件间通信实例讲解(props、$ref、$emit)
2018/05/22 Javascript
vue+iview实现文件上传
2020/11/17 Vue.js
python 字典(dict)遍历的四种方法性能测试报告
2014/06/25 Python
Python实现的基于优先等级分配糖果问题算法示例
2018/04/25 Python
Python Flask框架扩展操作示例
2019/05/03 Python
python中下标和切片的使用方法解析
2019/08/27 Python
基于python实现雪花算法过程详解
2019/11/16 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
html5拍照功能实现代码(htm5上传文件)
2013/12/11 HTML / CSS
"引用"与指针的区别是什么
2016/09/07 面试题
C#里面可以避免一个类被其他类继承么?如何?
2013/09/26 面试题
高中生自我鉴定范文
2013/10/30 职场文书
初三物理教学反思
2014/01/21 职场文书
管理失职检讨书
2014/02/12 职场文书
2014年迎新年活动方案
2014/02/19 职场文书
开业典礼主持词
2014/03/21 职场文书
2014年党支部工作总结
2014/11/13 职场文书
2014年药店工作总结
2014/11/20 职场文书
2015年母亲节活动策划方案
2015/05/04 职场文书
2019财务转正述职报告
2019/06/27 职场文书
MySQL GRANT用户授权的实现
2021/06/18 MySQL
redis客户端实现高可用读写分离的方式详解
2021/07/04 Redis
Win10本地连接不见了怎么恢复? win10系统电脑本地连接不见了解决方法
2023/01/09 数码科技