PHP:第三章——PHP中函数的实参多余形参的处理方法

<?php
header("Content-Type:text/html;charset=utf-8");
//传参的函数
/*function F($a){
    echo $a;
}
F(5);*/
//输出:5

//函数的参数可以有默认值。默认值必须是常量,固定的值(数字、数组、常量、字符串)
/*function F2($a=6){
    echo $a;
}
F2();*/
//输出:6。函数的名字不区分大小写。

//函数按值传递的参数
/*function F1($a,$b=6){
    echo $a+$b;
}
F1(3);*/
//输出:9

//函数按引用传递参数:
$a=3;
function F2(&$p){
    ++$p;
}
F2($a);
echo $a;//输出:4
?>

 

<?php
header("Content-Type:text/html;charset=utf-8");
//实参多余形参时函数的处理方法:
function F($a){
    //echo func_num_args();//自动获取实际传参的个数
    $i=func_num_args();
    for($j=0;$j<$i;$j++){
        echo func_get_arg($j);//获取到具体值.通过遍历输出:246
    }
}
F(2,4,6);
?> 
<?php
header("Content-Type:text/html;charset=utf-8");
//实参多余形参时函数的处理方法:
function F($a){
    $arr=func_get_args();
    print_r($arr);//输出:Array ( [0] => 2 [1] => 4 [2] => 6 ) 
}
F(2,4,6);
?> 

 

<?php
header("Content-Type:text/html;charset=utf-8");
//以下代码仅在PHP5.6及以上版本使用:
function sum(...$numbers){
    $acc=0;
    foreach($numbers as $n){
        $acc+=$n;
    }
    return $acc;
}
echo sum(1,2,3,4);//输出:10
?>

 

posted @ 2017-07-07 06:13  生如逆旅,一苇以航  阅读(525)  评论(0编辑  收藏  举报