php中函数的形参与实参的问题说明

2015-01-24信息快讯网

在定义或者使用php函数时,应该注意形参个数和实参个数的对应关系。

当实参个数<形参个数 时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中如何判断AJAX提交的数据
用PHP书写安全的脚本代码
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
PHP中使用数组实现堆栈数据结构的代码
PHP反转字符串函数strrev()函数的用法
PHP __autoload函数(自动载入类文件)的使用方法
PHP函数spl_autoload_register()用法和__autoload()介绍
PHP对象转换为数组函数(递归方法)
php摘要生成函数(无乱码)
PHP求小于1000的所有水仙花数的代码
linux系统上支持php的 iconv()函数的方法
PHP 无限分类三种方式 非函数的递归调用!
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
PHP开发需要注意的安全问题
php数据库连接时容易出错的特殊符号问题
PHP下利用header()函数设置浏览器缓存的代码
使用bcompiler对PHP文件进行加密的代码
php采集时被封ip的解决方法
PHP isset()与empty()的使用区别详解
php visitFile()遍历指定文件夹函数
php简单提示框alert封装函数
php递归实现无限分类生成下拉列表的函数
php自定义函数之递归删除文件及目录
PHP下escape解码函数的实现方法
php下用cookie统计用户访问网页次数的代码
PHP strtok()函数的优点分析
检查url链接是否已经有参数的php代码 添加 ? 或 &
计算一段日期内的周末天数的php代码(星期六,星期日总和)
PHP 日期时间函数的高级应用技巧
PHP日期时间函数的高级应用技巧
php error_log 函数的使用
©2014-2024 dbsqp.com