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编实现程动态图像的创建代码
Sep 28 PHP
PHP运行时强制显示出错信息的代码
Apr 20 PHP
php安全之直接用$获取值而不$_GET 字符转义
Jun 03 PHP
PHP判断文章里是否有图片的简单方法
Jul 26 PHP
ThinkPHP 表单自动验证运用示例
Oct 13 PHP
php使用glob函数快速查询指定目录文件的方法
Nov 15 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
May 05 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
Oct 07 PHP
php实现微信原生支付(扫码支付)功能
May 30 PHP
PHP应用跨时区功能的实现方法
Mar 21 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
Apr 15 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
javascript 播放器 控制
2007/01/22 Javascript
JavaScript之Getters和Setters 平台支持等详细介绍
2012/12/07 Javascript
JS实现下拉框的动态添加(附效果)
2013/04/03 Javascript
JQuery与JS里submit()的区别示例介绍
2014/02/17 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
判断iframe里的页面是否加载完成
2014/06/06 Javascript
JS不能跨域借助jquery获取IP地址的方法
2014/08/20 Javascript
JavaScript中的变量定义与储存介绍
2014/12/31 Javascript
JavaScript 匿名函数和闭包介绍
2015/04/13 Javascript
JS实现自动变化的导航菜单效果代码
2015/09/09 Javascript
js确认框confirm()用法实例详解
2016/01/07 Javascript
jquery实现简单Tab切换菜单效果
2020/07/17 Javascript
jQuery实现鼠标移入移出事件切换功能示例
2018/09/06 jQuery
Vue.js下拉菜单组件使用方法详解
2019/10/19 Javascript
js实现右键弹出自定义菜单
2020/09/08 Javascript
Vertx基于EventBus发送接受自定义对象
2020/11/16 Javascript
JavaScript实现跟随鼠标移动的盒子
2021/01/28 Javascript
[04:11]DOTA2上海特级锦标赛主赛事首日TOP10
2016/03/03 DOTA
Python Matplotlib库入门指南
2015/05/18 Python
NumPy 数学函数及代数运算的实现代码
2018/07/18 Python
Python3+Pycharm+PyQt5环境搭建步骤图文详解
2019/05/29 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
2020/02/18 Python
Python 字典一个键对应多个值的方法
2020/09/29 Python
利用Python实现自动扫雷小脚本
2020/12/17 Python
html5+css3进度条倒计时动画特效代码【推荐】
2016/03/08 HTML / CSS
拾金不昧的表扬信
2014/01/16 职场文书
店长职务说明书
2014/02/04 职场文书
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
煤矿安全演讲稿
2014/05/09 职场文书
青年志愿者活动方案
2014/08/17 职场文书
营业用房租赁协议书
2014/11/26 职场文书
董存瑞观后感
2015/06/11 职场文书
学校运动会简讯
2015/07/20 职场文书
导游词之山西祁县乔家大院
2019/10/14 职场文书
Nginx访问日志及错误日志参数说明
2021/03/31 Servers
Python自动操作神器PyAutoGUI的使用教程
2022/06/16 Python