国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

PHP基礎之數據類型9——回調類型(callback)

瀏覽:5日期:2022-09-14 13:20:05

自 PHP 5.4 起可用 callable 類型指定回調類型 callback。本文檔基于同樣理由使用 callback 類型信息。

一些函數如 call_user_func() 或 usort() 可以接受用戶自定義的回調函數作為參數。回調函數不止可以是簡單函數,還可以是對象的方法,包括靜態類方法。

傳遞

一個 PHP 的函數以 string 類型傳遞其名稱。可以使用任何內置或用戶自定義函數,但除了語言結構例如: array(), echo, empty(), eval(), exit(), isset(), list(), print 或 unset()。

一個已實例化的對象的方法被作為數組傳遞,下標 0 包含該對象,下標 1 包含方法名。

靜態類方法也可不經實例化該類的對象而傳遞,只要在下標 0 中包含類名而不是對象。自 PHP 5.2.3 起,也可以傳遞 ’ClassName::methodName’。

除了普通的用戶自定義函數外, create_function() 可以用來創建一個匿名回調函數。自 PHP 5.3.0 起也可傳遞 closure 給回調參數。

Example #1 回調函數示例

<?php

// An example callback function

function my_callback_function() {

???echo ’hello world!’;

}

// An example callback method

class MyClass {

???static 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’));

// 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 'An';

???}

}

class B extends A {

???public static function who() {

???????echo 'Bn';

???}

}

call_user_func(array(’B’, ’parent::who’)); // A

?>

Example #2 使用 Closure 的示例

<?php

// Our closure

$double = function($a) {

???return $a * 2;

};

// This is our range of numbers

$numbers = range(1, 5);

// Use the closure as a callback here to

// double the size of each element in our

// range

$new_numbers = array_map($double, $numbers);

print implode(’ ’, $new_numbers);

?>

以上例程會輸出:

2 4 6 8 10

Note: 在 PHP 4 中,需要使用一個引用來創建一個指向具體對象的回調函數,而不是一個拷貝。參見引用的解釋。

Note:

在函數中注冊有多個回調內容時(如使用 call_user_func() 與 call_user_func_array()),如在前一個回調中有未捕獲的異常,其后的將不再被調用。

標簽: PHP
相關文章:
主站蜘蛛池模板: 日韩亚洲精品不卡在线 | 精品视频在线免费看 | 国内自拍网红在线综合 | 日韩一级a毛片欧美区 | 亚洲国产天堂久久九九九 | 国产三级日本三级在线播放 | 久草免费在线色站 | 国产成在线观看免费视频 | 国产精品性视频免费播放 | 精品国产一区二区三区www | 欧美巨大精品欧美一区二区 | 露脸国产野战最新在线视频 | 蜜臀91精品国产高清在线观看 | 欧美一级视频在线高清观看 | 米奇888在线播放欧美 | 中文字幕有码在线观看 | 国产激情久久久久久影院 | 亚洲最大免费视频网 | 亚洲精品一区专区 | 国产精品亚洲一区二区三区 | 久草视频手机在线观看 | cao草棚视频网址成人 | 在线观看欧洲成人免费视频 | 亚洲一级视频在线观看 | 亚州中文 | 久久福利网站 | 欧美69精品国产成人 | 一本大道香蕉大vr在线吗视频 | 午夜三级成人三级 | 国产a∨一区二区三区香蕉小说 | 精品国产三级v | 亚洲国产成人久久精品影视 | 欧美日韩第三页 | 精品久久国产老人久久综合 | 久久99精品久久久久久秒播 | 日韩特级毛片 | 久久免费视频在线观看30 | 亚洲一级毛片欧美一级说乱 | 一级特级欧美a毛片免费 | 未满14周岁啪啪网站 | 国产老鸭窝毛片一区二区 |