PHP定义函数的几种方式

来源:互联网 发布:java意见反馈模块 编辑:程序博客网 时间:2024/05/17 18:03

php中定义函数

带参函数

function 函数名(参数1,参数2…){
}
sum(实参1,实参2…);

php中当参数不确定的时候

func_num_args(); 获取实参的个数
func_get_arg(); 实参的数组

function sum(){    print_r(func_num_args());//1 4    echo "<br>";    print_r(func_get_args());    //Array ( [0] => 1 )  Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 5 )    echo "<br>";}sum(1);sum(1,2,3,5);

探究:函数可以求n项的和

function sum1(){    $sum=0;    for ($i=0;$i<func_num_args();$i++){        $sum+=func_get_args()[$i];    }    return $sum;}echo sum1(2,2);//4echo sum1(1,2,3);//6

对比js:用argument对象

function getSum(){    var sum=0;    for(var i=0;i<arguments.length;i++){        sum+=arguments[i];    }    return sum;}console.log(getSum(1,2,3,7));console.log(getSum(1));

注:js定义函数的几种方式
a.普通的定义
function foo(){}
b.声明式的定义
var foo = function(){}

//提前调用sum();function sum(){    console.log("sssss");}//会报错foo();var foo = function(){    console.log("sssss");}

注:两种定义方式的区别:
普通函数定义,js在编译阶段会提前编译,可以在定义之前调用这个函数;
声明式定义js不会优先去编译,所以只能在方法定义之后去调用;

带参函数
function sum(形参1,形参2){
}
sum(实参1,实参2);
参数不确定
function sum(){
//arguments对象
}