當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。