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 相关文章推荐
详细介绍:Apache+PHP+MySQL配置攻略
Sep 05 PHP
php中的数组操作函数整理
Aug 18 PHP
php长字符串定义方法
Jul 12 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
Jan 03 PHP
Yii框架调试心得--在页面输出执行sql语句
Dec 25 PHP
php内存缓存实现方法
Jan 24 PHP
MySql数据库查询结果用表格输出PHP代码示例
Mar 20 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
Mar 25 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 PHP
PHP实现的mysql读写分离操作示例
May 22 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
Oct 15 PHP
laravel框架 laravel-admin上传图片到oss的方法
Oct 13 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下过滤html代码的函数 提高程序安全性
2010/03/02 PHP
PHP数据库调用类调用实例(详细注释)
2012/07/12 PHP
使用dump函数,给php加断点测试
2013/06/25 PHP
php获取$_POST同名参数数组的实现介绍
2013/06/30 PHP
destoon找回管理员密码的方法
2014/06/21 PHP
php输入数据统一类实例
2015/02/23 PHP
php中get_defined_constants函数用法实例分析
2015/05/12 PHP
Laravel 模型关联基础教程详解
2019/09/17 PHP
jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
2016/01/04 Javascript
Vue.js路由组件vue-router使用方法详解
2016/12/02 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
node.js入门学习之url模块
2017/02/25 Javascript
python 写入csv乱码问题解决方法
2016/10/23 Python
JPype实现在python中调用JAVA的实例
2017/07/19 Python
教你利用Python玩转histogram直方图的五种方法
2018/07/30 Python
python wxpython 实现界面跳转功能
2019/12/17 Python
浅谈keras 模型用于预测时的注意事项
2020/06/27 Python
matplotlib bar()实现百分比堆积柱状图
2021/02/24 Python
使用HTML5的Notification API制作web通知的教程
2015/05/08 HTML / CSS
深入解析HTML5中的Blob对象的使用
2015/09/08 HTML / CSS
意大利会呼吸的鞋:Geox健乐士
2017/02/12 全球购物
Booking.com美国:全球酒店预订网站
2017/04/18 全球购物
印尼最大的婴儿用品购物网站:Orami
2017/09/28 全球购物
捷克体育用品购物网站:D-sport
2017/12/28 全球购物
丝芙兰香港官网:Sephora香港
2018/03/13 全球购物
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
警察思想汇报
2014/01/04 职场文书
学校教师安全责任书
2014/07/23 职场文书
材料员岗位职责
2015/02/10 职场文书
研究生个人学年总结
2015/02/14 职场文书
2015年大学班主任工作总结
2015/04/30 职场文书
繁星春水读书笔记
2015/06/30 职场文书
导游词之云南丽江古城
2019/09/17 职场文书
浅谈pytorch中stack和cat的及to_tensor的坑
2021/05/20 Python
python 闭包函数详细介绍
2022/04/19 Python
MySQL sql模式设置引起的问题
2022/05/15 MySQL