您好,登錄后才能下訂單哦!
小編給大家分享一下PHP中實(shí)現(xiàn)回調(diào)的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
=在PHP中,回調(diào)是一個可調(diào)用類型的函數(shù)對象/引用;回調(diào)(或可調(diào)用)變量可以用作函數(shù)、對象方法和靜態(tài)類方法。實(shí)現(xiàn)回調(diào)有多種方法,下面本篇文章就來介紹一些,希望對大家有所幫助。
1、標(biāo)準(zhǔn)回調(diào)
示例:使用call_user_func()函數(shù)調(diào)用一個函數(shù),其中包含的參數(shù)是函數(shù)名稱。
<?php header("content-type:text/html;charset=utf-8"); function text1(){ echo '這個是text1<br>'; }; call_user_func('text1'); ?>
輸出:
這個是text1
說明:調(diào)用了一個call_user_func()函數(shù),然后call_user_func()函數(shù)在執(zhí)行過程中又往回調(diào)用了 text1()函數(shù)。
2、靜態(tài)類方法回調(diào)
示例:使用call_user_func()函數(shù)調(diào)用靜態(tài)類方法,其中的參數(shù)是一個包含類名稱和要調(diào)用的方法的數(shù)組。
<?php header("content-type:text/html;charset=utf-8"); class Demo { // 用于輸出字符串的函數(shù) static function someFunction() { echo "父級函數(shù)輸出 <br>"; } } class Article extends Demo { // 用于輸出字符串的函數(shù) static function someFunction() { echo "子級函數(shù)輸出 <br>"; } } // 靜態(tài)類方法回調(diào) call_user_func(array('Article', 'someFunction')); call_user_func('Article::someFunction'); // 相對靜態(tài)類方法回調(diào) call_user_func(array('Article', 'parent::someFunction')); ?>
輸出:
子級函數(shù)輸出 子級函數(shù)輸出 父級函數(shù)輸出
3、對象方法回調(diào)
示例:使用call_user_func()函數(shù)調(diào)用對象方法,其中參數(shù)是包含對象變量和要調(diào)用方法的字符串名稱的數(shù)組。
<?php header("content-type:text/html;charset=utf-8"); class Demo { // 輸出字符串的函數(shù) static function someFunction() { echo "億速云 <br>"; } // 輸出字符串的函數(shù) public function __invoke() { echo "__invoke()函數(shù)<br>"; } } // 類對象 $obj = new Demo(); // 對象方法調(diào)用 call_user_func(array($obj, 'someFunction')); call_user_func($obj); ?>
輸出:
億速云 __invoke()函數(shù)
4、閉包回調(diào)
示例:使用array_map()函數(shù)對閉包函數(shù)賦予的有效參數(shù)數(shù)組進(jìn)行標(biāo)準(zhǔn)調(diào)用或映射閉包函數(shù),可以使閉包函數(shù)可調(diào)用,其中參數(shù)是閉包函數(shù)及其有效參數(shù)的數(shù)組。
<?php header("content-type:text/html;charset=utf-8"); // 用于輸出<br> $print_function = function($string) { echo $string."<br>"; }; // 字符串?dāng)?shù)組 $string_array = array("PHP", "Python", "MySQL"); // 可調(diào)用閉包 array_map($print_function, $string_array); ?>
輸出:
PHP Python MySQL
看完了這篇文章,相信你對PHP中實(shí)現(xiàn)回調(diào)的方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。