php 函数call_user_func() 使用方法

180it 2021-05-18 PM 1208℃ 0条

php中有一个特别调用函数的函数call_user_func(),此函数用起来非常的绕弯,下面就针对此函数来详细的说一下吧。

php call_user_func() 使用方法
1、call_user_func() 调用普通函数的方法

示例1:直接调用一个无传入参数的函数

<?php
function a(){
    return 'feiniaomy.com';
}
echo call_user_func('a');
// feiniaomy.com
?>

示例2:调用一个带入传入参数的函数

<?php
//单个参数
function b($v){
    return $v;
}
echo call_user_func('b','mochu');
//多个参数
function c($v,$y){
    return $v.$y;
}
echo call_user_func('c','11','22');
?>

示例3:调一个预定义的函数

<?php
//调用函数 time()
echo call_user_func('time');
?>

示例4:调用一个匿名函数

<?php
call_user_func(function($v){
    echo $v;
},'2222');
?>
复制
2、call_user_func() 调用类内的方法

示例1:

call_user_func() 调用类内的方法,使用的为 array,非常的奇特!

<?php
class a{
    function b($c){
        return $c;
    }
}
echo call_user_func(array('a','b'),'mochu');
?>

示例2:

<?php
class Person{
    public $name = "mochu";
    public static function say(){
        return "ok";
    }
    public static function say2($words){
        return $words;
    }
    public function name(){
        return $this->name;
    }
    public function call($num){
        return $num;
    } 
}
$jack = new Person;
//调用类的方法
echo call_user_func([$jack,"name"]);
//调用类的方法带参数
echo call_user_func([$jack,"call"],'119');
//类的静态方法
echo call_user_func(['Person',"say"]);
//类的静态方法带参数
echo call_user_func(['Person',"say2"],'hello world');
?>
支付宝打赏支付宝打赏 微信打赏微信打赏

如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!

标签: none

php 函数call_user_func() 使用方法