php7 calluserfuncarray,php call_user_func() 和 call_user_func_array() 总结

call_user_func_array() 详解:

1).使用call_user_func_array() 调用类内部的方法:

class MainController{

public function getJsonEncode($param1,$param2){

return "param1 josn code:=".json_encode($param1)."\nparam2 json code:=".json_encode($param2);

}

public function actionTestCallUserFuncArray(){

//调用同一个类中的方法

$param1 = array("hobby" => "Clark love Michelle","wish" => "Michelle love Clark");

$param2 = "Clark like to travel around the world!";

//调用类的成员方法:

// call_user_func_array($funcClassAndName,$paramArray);

// @param $funcClassAndName: array('className','funcName');

// @param $paramArray: array(需要传递的参数);

$str = call_user_func_array(array('MainController','getJsonEncode'),array($param1,$param2));

echo $str;

}

}

当用call_user_func_array() 调用类的成员函数时,它的参数是两个数组,第一个数组的内容分别是需要调用的函数所在的类名和所要调用的函数名,第二个数组是需要向所调用的函数传递的参数列表;

上述函数输出结果为:

param1 josn code:={"hobby":"Clark love Michelle","wish":"Michelle love Clark"}

param2 json code:="Clark like to travel around the world!"

2) 使用call_user_func_array() 调用普通方法:

function getJsonEncode($param1,$param2){

return "param1 josn code:=".json_encode($param1)."\nparam2 json code:=".json_encode($param2);

}

$param1 = array("hobby" => "Clark love Michelle","wish" => "Michelle love Clark");

$param2 = "Clark like to travel around the world!";

//调用普通的方法:

// call_user_func_array($funcName,$paramArray);

//@param $funcName:需要调用的函数名;

//@param $paramArray: array(需要传递给函数的参数列表)

$str1 = call_user_func_array('getJsonEncode',array($param1,$param2));

echo $str1;

当用call_user_func_array() 调用普通函数时,它的参数是一个字符串和一个数组,第一个字符串的内容是需要调用的函数的名称,第二个数组是需要向所调用的函数传递的参数列表;

上述函数输出结果为:

param1 josn code:={"hobby":"Clark love Michelle","wish":"Michelle love Clark"}

param2 json code:="Clark like to travel around the world!"

call_user_func() 详解:

1).   使用call_user_func() 调用类内部的方法:

class MainController{

public function getJsonEncode($param1,$param2){

return "param1 josn code:=".json_encode($param1)."\nparam2 json code:=".json_encode($param2);

}

public function actionTestCallUserFuncArray(){

$param1 = array("hobby" => "Clark love Michelle","wish" => "Michelle love Clark");

$param2 = "Clark like to travel around the world!";

//调用类的成员方法:

// call_user_func($funcClassAndName,$param1,$param2);

// @param $funcClassAndName: array('className','funcName');

// @param $param1,$param2  需要传递的参数

$str2 = call_user_func(array('MainController','getJsonEncode'),$param1,$param2);

echo $str2;

}

}

当用call_user_func() 调用类的成员函数时,它的第一个参数是数组,其内容分别是需要调用的函数所在的类名和所要调用的函数名,其余的参数是需要向所调用的函数传递的参数列表;

上述函数输出结果为:

param1 josn code:={"hobby":"Clark love Michelle","wish":"Michelle love Clark"}

param2 json code:="Clark like to travel around the world!"

2).使用call_user_func 调用普通方法:

function getJsonEncode($param1,$param2){

return "param1 josn code:=".json_encode($param1)."
\nparam2 json code:=".json_encode($param2);

}

$param1 = array("hobby" => "Clark love Michelle","wish" => "Michelle love Clark");

$param2 = "Clark like to travel around the world!";

//调用普通的方法:

// call_user_func($funcName,$param1,$param2...);

//@param $funcName:需要调用的函数名;

//@param $param1,$param2...需要传递给函数的参数列表

$str1 = call_user_func('getJsonEncode',$param1,$param2);

echo $str1;

当用call_user_func() 调用普通函数时,它的第一个参数是字符串,字符串的内容是需要调用的函数的名称,其他的参数是需要向所调用的函数传递的参数列表;

上述函数输出结果为:

param1 josn code:={"hobby":"Clark love Michelle","wish":"Michelle love Clark"}

param2 json code:="Clark like to travel around the world!"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值