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 相关文章推荐
PHPShop存在多个安全漏洞
Oct 09 PHP
关于shopex同步ucenter的redirect问题,导致script不运行
Apr 10 PHP
PHP资源管理框架Assetic简介
Jun 12 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
Jun 12 PHP
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
Aug 23 PHP
php正则表达式学习笔记
Nov 13 PHP
Yii中实现处理前后台登录的新方法
Dec 28 PHP
PHP提取字符串中的手机号正则表达式怎么写
Jul 17 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
windows 2008r2+php5.6.28环境搭建详细过程
Jun 18 PHP
基于PHP实现用户在线状态检测
Nov 10 PHP
深入理解PHP+Mysql分布式事务与解决方案
Dec 03 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处理restful请求的路由类分享
2014/02/27 PHP
PHP XML和数组互相转换详解
2016/10/26 PHP
phpcms配置列表页以及获得文章发布时间
2017/07/04 PHP
PHP fopen中文文件名乱码问题解决方案
2020/10/28 PHP
PHP替换Word中变量并导出PDF图片的实现方法
2020/11/26 PHP
js 与或运算符 || &amp;&amp; 妙用
2009/12/09 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
2013/12/03 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
让你一句话理解闭包(简单易懂)
2016/06/03 Javascript
详谈JS中实现种子随机数及作用
2016/07/19 Javascript
第一次动手实现bootstrap table分页效果
2016/09/22 Javascript
使用JQ完成表格隔行换色的简单实例
2017/08/25 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
AngularJs的UI组件ui-Bootstrap之Tooltip和Popover
2018/07/13 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
2018/08/13 Javascript
JS加密插件CryptoJS实现AES加密操作示例
2018/08/16 Javascript
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
[04:56]经典回顾:前Ehome 与 前LGD
2015/02/26 DOTA
python实现分析apache和nginx日志文件并输出访客ip列表的方法
2015/04/04 Python
python3实现跳一跳点击跳跃
2018/01/08 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
2018/09/04 Python
pyinstaller打包程序exe踩过的坑
2019/11/19 Python
浅谈pytorch池化maxpool2D注意事项
2020/02/18 Python
python 计算概率密度、累计分布、逆函数的例子
2020/02/25 Python
django使用JWT保存用户登录信息
2020/04/22 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
2020/06/12 Python
Python设计密码强度校验程序
2020/07/30 Python
python使用matplotlib:subplot绘制多个子图的示例
2020/09/24 Python
HTML5 Blob对象的具体使用
2020/05/22 HTML / CSS
2014派出所所长群众路线对照检查材料思想汇报
2014/09/18 职场文书
城管执法人员个人对照检查材料思想汇报
2014/09/29 职场文书
销售合作意向书范本
2015/05/08 职场文书
无犯罪记录证明样本
2015/06/16 职场文书
如何书写民事调解协议书?
2019/06/25 职场文书
教师实习自我鉴定总结
2019/08/20 职场文书