当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP call_user_func()用法及代码示例


call_user_func()是PHP中的内置函数,用于调用第一个参数给定的回调并将其余参数作为参数传递。它用于调用用户定义的函数。

用法:

mixed call_user_func ( $function_name[, mixed $value1[, mixed $... ]])

这里,mixed表示参数可以接受多种类型。
参数:call_user_func()函数接受上述和以下描述的两种类型的参数:


  • $function_name:它是已定义函数列表中函数调用的名称。它是一个字符串类型参数。
  • $value:它是混合值。一个或多个要传递给函数的参数。

返回值:该函数返回回调函数返回的值。

以下示例程序旨在说明PHP中的call_user_func()函数:

程序1:调用函数

<?php 
function GFG($value) 
{ 
    echo "This is $value site.\n"; 
} 
  
call_user_func('GFG', "GeeksforGeeks"); 
call_user_func('GFG', "Content"); 
  
?>
输出:
This is GeeksforGeeks site.
This is Content site.

程序2:call_user_func()使用名称空间名称

<?php 
  
namespace Geeks; 
  
class GFG { 
    static public function demo() { 
        print "GeeksForGeeks\n"; 
    } 
} 
  
call_user_func(__NAMESPACE__ .'\GFG::demo');  
  
// Another way of declaration 
call_user_func(array(__NAMESPACE__ .'\GFG', 'demo'));  
  
?>
输出:
GeeksForGeeks
GeeksForGeeks

程序3:对call_user_func()使用类方法

<?php 
  
class GFG { 
    static function show() 
    { 
        echo "Geeks\n"; 
    } 
} 
  
$classname = "GFG"; 
call_user_func($classname .'::show'); 
  
// Another way to use object 
$obj = new GFG(); 
call_user_func(array($obj, 'show')); 
  
?>
输出:
Geeks
Geeks

程序4:将lambda函数与call_user_func()一起使用

<?php 
call_user_func(function($arg) { print "$arg\n"; }, 'GeeksforGeeks'); 
?>
输出:
GeeksforGeeks

参考文献: http://php.net/manual/en/function.call-user-func.php



相关用法


注:本文由纯净天空筛选整理自Mithun Kumar大神的英文原创作品 PHP | call_user_func() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。