PHP callback函數(shù)使用方法和注意事項
在PHP中有些諸如 call_user_function() 或 usort() 的函數(shù)接受用戶自定義的函數(shù)作為一個參數(shù)。Callback 函數(shù)不僅可以是一個簡單的函數(shù),它還可以是一個對象的方法,包括靜態(tài)類的方法。
一個 PHP 函數(shù)用函數(shù)名字符串來傳遞。您可以傳遞任何內(nèi)建的或者用戶自定義的函數(shù),除了 array(), echo(), empty(), eval(), exit(), isset(), list(), print() 和 unset()。
一個對象的方法以數(shù)組的形式來傳遞,數(shù)組的 0 下標(biāo)指明對象名,下標(biāo) 1 指明方法名。
對于沒有實例化為對象的靜態(tài)類,要傳遞其方法,將數(shù)組 0 下標(biāo)指明的對象名換成該類的名稱即可。
Callback 函數(shù)實例:
<?php
// An example callback function
function my_callback_function() {
echo 'hello world!';
}
// An example callback method
class MyClass {
function myCallbackMethod() {
echo 'Hello World!';
}
}
// Type 1: Simple callback
call_user_func('my_callback_function');
// Type 2: Static class method call
call_user_func(array('MyClass', 'myCallbackMethod'));
// Type 3: Object method call
$obj = new MyClass();
call_user_func(array($obj, 'myCallbackMethod'));
?>
http://www.phpe.net/manual/language.pseudo-types.php
http://cn.php.net/manual/en/language.pseudo-types.php
相關(guān)文章
PHP 應(yīng)用程序的安全 -- 不能違反的四條安全規(guī)則
PHP 應(yīng)用程序的安全 -- 不能違反的四條安全規(guī)則...2006-11-11
php中Socket創(chuàng)建與監(jiān)聽實現(xiàn)方法
這篇文章主要介紹了php中Socket創(chuàng)建與監(jiān)聽實現(xiàn)方法,以實例形式較為詳細(xì)的分析了Socket的創(chuàng)建、連接、初始化及監(jiān)聽等技巧,需要的朋友可以參考下2015-01-01
PHP函數(shù)http_build_query使用詳解
這篇文章主要介紹了PHP函數(shù)http_build_query使用詳解,分別對傳入一維關(guān)聯(lián)數(shù)組、一維索引數(shù)組、二維數(shù)組、傳入對象等給出示例,需要的朋友可以參考下2014-08-08
PHP數(shù)據(jù)集構(gòu)建JSON格式及新數(shù)組的方法
自己寫了個PHP結(jié)果集轉(zhuǎn)換成JSON格式的函數(shù),可以直接調(diào)用;需要的朋友可以參考下2012-11-11
php數(shù)組函數(shù)序列之a(chǎn)rray_splice() - 在數(shù)組任意位置插入元素
array_splice() 函數(shù)與 array_slice() 函數(shù)類似,選擇數(shù)組中的一系列元素,但不返回,而是刪除它們并用其它值代替2011-11-11

