PHP中call user func()和call_user_func_array()调用自定义函数小结
call_user_func()?和?call_user_func_array(),通過傳入字符串函數(shù),可以調(diào)用自定義函數(shù),并且支持引用,都允許用戶調(diào)用自定義函數(shù)并傳入一定的參數(shù):
1、mixed call_user_func ( callable $callback [, mixed $parameter [, mixed $... ]] )
第一個參數(shù)為自定義函數(shù)名稱,后面的參數(shù)為函數(shù)的參數(shù),返回值為自定義函數(shù)的結(jié)果。
function say($word) {echo $word; } call_user_func('say', 'hello world'); //輸出 //hello world當(dāng)然也可以調(diào)用類中的方法:
class World {function sayHello($word = ''){echo $word;} } //注意,必須是要實(shí)例化的,除非是static $world = new World(); call_user_func([$world, 'sayHello'], 'hello world'); //輸出 hello world注意:上面寫數(shù)組的方式[ ],如果PHP版本在PHP5.4以下的,還是用array()
2、mixed call_user_func_array ( callable $callback , array $param_arr )
跟call user func()在功能上其實(shí)是一樣的,只是傳入?yún)?shù)上稍有區(qū)別,這個其實(shí)從方法的命名上就可以看的出來:
function say($word) {echo $word; } call_user_func_array('say', ['hello world']); //注意:第二個參數(shù)是數(shù)組的形式 //輸出 //hello world class World {function sayHello($word = ''){echo $word;} } //注意,必須是要實(shí)例化的,除非是static $world = new World(); call_user_func_array([$world, 'sayHello'], ['hello world']); //注意:第二個參數(shù)是數(shù)組形式 //輸出 hello world轉(zhuǎn)載于:https://www.cnblogs.com/Steven-shi/p/8353616.html
總結(jié)
以上是生活随笔為你收集整理的PHP中call user func()和call_user_func_array()调用自定义函数小结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 文件和目录操作总结
- 下一篇: ThinkPHP5显示数据库字段内容