下面的內容是來自php.net 官方文檔
callbacks
call_user_func() ,usort()等函數接受用戶自定義的回調函數作為參數.
回調函數可以不僅僅是簡單的函數,也可以是對象方法,包括對象的靜態方法.
php 函數可以通過字符串類型的函數名進行調用,任何內建的或者用戶自定義的函數都可以被使用.但是這其中不包括
php的語言結構,比如:array(),echo,empty(),eval(),exit(),isset(),list(),print,unset()
調用類的方法是通過將實例化的對象和調用方法的名稱分別作為數組的第0個和第1個參數來進行調用.
調用類的靜態方法可以不用實例化該類的對象,而是將類的名稱和靜態方法的名稱分別作為數組的第0個和第1個參數來 進行調用.
在php5.2.3以后,也可以通過使用ClassName::methodName 來調用該類的靜態方法.
除了這些通用的用戶自定義函數,也可以使用匿名函數作為函數參數.
<?php // An example callback functionfunction my_callback_function() { echo 'hello world!';}// An example callback methodhtml' target='_blank'>class MyClass { static function myCallbackMethod() { echo 'Hello World!'; }}// Type 1: Simple callbackcall_user_func('my_callback_function'); // Type 2: Static class method callcall_user_func(array('MyClass', 'myCallbackMethod')); // Type 3: Object method call$obj = new MyClass();call_user_func(array($obj, 'myCallbackMethod'));// Type 4: Static class method call (As of PHP 5.2.3)call_user_func('MyClass::myCallbackMethod');// Type 5: Relative static class method call (As of PHP 5.3.0)class A { public static function who() { echo "A"; }}class B extends A { public static function who() { echo "B"; }}call_user_func(array('B', 'parent::who')); // A?>
PHP編程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答