当前位置: 首页 > 系统教程 > 建站教程 > 详细页面

php 参数的传递

时间:2016-08-03 11:10来源:未知 作者:admin

PHP参数的传递

1、按值传递参数
默认方式,我们在传递参数的时候默认使用的就是这个方式。
对形式参数的操作,根本不会影响到实际参数(变量)的值,两者等于没有关系。

<?php
function test($a){
    echo ++$a;
}
$i=10;
test($i);  //这里输出结果为11
echo "<br/>";
echo $i;//这里输出结果为10
?>

2、按引用传递参数  用&$a表示
按引用传递参数,相当于形式参数和实际参数指同一个参数,只是名字不同,对形式参数进行操作会直接影响到实际参数。

<?php
function test(&$a){
    echo ++$a;
}
$i=10;
test($i);//这里输出结果为11

echo "<br/>";
echo $i;//这里输出结果为11

?>

3、函数的默认参数  
可以给形式参数设置默认值,设置方法很简单直接赋值即可。
给形式参数赋值的时候是从右往左加的,右边必须有,才能够给左边的加。(如果多个默认参数的时候)
<?php
function test($a=10){//$a默认值为10
    echo ++$a;
}
test();//默认值+1运算 则结果为11

?>

<?php
function test($a=10){//$a默认值为10
    echo ++$a;
}
test(20);//新值+1运算 则结果为21

?>

4、可变长度参数列表 
PHP提供给我们的,可以直接使用的
func_get_args();//调用所有参数
func_get_arg();//调用第N-1个(0,1,2)因为从零开始计数
func_num_args();//调用个数
这三个函数可以使用我们的自定义函数内部,能够返回给我们一些关于参
数的信息
<?php
function test(){
    var_dump(func_get_args());
}
test(20,21,22);

?>
输出结果是一个数组类型:
array (size=3)
  0 => int 20
  1 => int 21
  2 => int 22



<?php
function test(){
    var_dump(func_get_arg(0));
}
test(20,21,22);

?>
输出结果 int 20 如果改为arg(1),则为 int 21
<?php
function test(){
    var_dump(func_num_args());
}
test(20,21,22);

?>

输出为:int  3