溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP中實(shí)現(xiàn)回調(diào)的方法

發(fā)布時間:2020-08-20 14:50:36 來源:億速云 閱讀:312 作者:小新 欄目:編程語言

小編給大家分享一下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è)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(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)容。

php
AI