php函數call_user_func的使用方法

來源:互聯網
上載者:User
前段時間瀏覽文檔發現一個有意思的PHP函數:call_user_func ,本文主要和大家分享php函數call_user_func的使用方法,希望能協助到大家。

函數作用:該函數主要用於通過函數名去調用該函數

例如:

function test(){    echo "hello world\n";}$methodName = "test";call_user_func($methodName);上面的語句執行後相當於直接調用test(),不過是可以通過函數名來調用函數。同時也可以用這種方法來調用:12$methodName = "test";$methodName();

產生的結果是一樣的,而且這種方法在效能上會比上面的方法好一點。

除了調用函數,還可以調用對象的方法:

class T{    static public function test(){        echo "hello world\n";    }}//php 5.3以前需要這樣調用call_user_func("T::test");//php 5.3以後,可以將class和method傳入一個數組再將數組傳給call_user_func方法call_user_func(array("T", "test"));

上面執行效果是一樣的

call_user_func還可以與匿名函數配合如:

function call_func(){    foreach(func_get_args() as $func){        call_user_func($func);    }}call_func(function(){    echo "anonymous function\n";});

上面的函數還能同時調用多個函數。

相關推薦:

php函數call_user_func和call_user_func_array用法執行個體詳解

call_user_func_array()函數定義與用法匯總

php call_user_func函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.