欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php callback

謝彥文1年前8瀏覽0評論

PHP中的callback是指在函數參數中傳遞一個函數作為參數,讓另外一個函數去執行這個傳遞進來的函數。這種做法的好處是提高了代碼的復用性和擴展性。

下面以數組排序為例,使用php callback來進行排序。我們可以先編寫一個自定義的排序函數mySort():

function mySort($a, $b){
if ($a == $b) {
return 0;
}
return ($a< $b) ? -1 : 1;
}

然后我們可以定義一個數組$arr:

$arr = array(3, 1, 5, 2, 7, 4);

使用php的uasort()函數可以進行自定義排序,其中第二個參數是一個callback函數名:

uasort($arr, 'mySort');
print_r($arr);

運行結果為:

Array
(
[1] =>1
[3] =>2
[5] =>3
[6] =>4
[0] =>5
[2] =>7
)

除了具體的排序例子,callback在PHP中還有以下兩種常用的用途:

1、將一個函數作為參數傳遞給另一個函數

例如,我們可以先編寫一個用來處理數組的函數:

function arrHandle($arr, $func) {
foreach($arr as $item) {
$func($item);
}
}

然后定義一個處理數組的方法:

function process($item) {
echo "item is:".$item."\n";
}

最后我們可以傳遞這個處理函數到數組處理函數中:

$arr = array(1, 2, 3);
arrHandle($arr, 'process');

2、使用匿名函數

使用匿名函數可以不用專門為一個函數來分配一個函數名,可以更加靈活地使用callback。

$arr = array(1, 2, 3);
arrHandle($arr, function($item){
echo "item is:".$item."\n";
});

這是使用callback的兩種常用場景。callback的應用廣泛,在PHP中提供了多種方法來使用callback,它極大地提高了代碼的靈活性和擴展性。