您好,登錄后才能下訂單哦!
本篇內容介紹了“如何操作php回調函數處理數組”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
array_reduce— 用回調函數迭代地將數組簡化為單一的值
mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )
callback【mixed callback ( mixed $carry , mixed $item ) carry--攜帶上次迭代里的值; 如果本次迭代是第一次,那么這個值是 initial。item --攜帶了本次迭代的值。】
initial【如果指定了可選參數 initial,該參數將在處理開始前使用,或者當處理結束,數組為空時的最后一個結果。】
例:
$res = [ '0' => [ 'a' => 'you', 'b' => 'me' ], '1' => [ 'c' => 'li', 'd' => 'op' ] ]; $res = array_reduce($res,function($result,$value) { return array_merge($result,array_values($value)); },array()); var_dump($res);
輸出:
array(4) {
[0]=>
string(3) "you"
[1]=>
string(2) "me"
[2]=>
string(2) "li"
[3]=>
string(2) "op"
}
array_filter — 用回調函數過濾數組中的單元
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ) 返回過濾后的數組。
array--要循環的數組
callback--使用的回調函數,如果沒有提供 callback 函數, 將刪除 array 中所有等值為 FALSE 的條目。
flag--決定callback接收的參數形式:
ARRAY_FILTER_USE_KEY - callback接受鍵名作為的唯一參數
ARRAY_FILTER_USE_BOTH - callback同時接受鍵名和鍵值
例:
function odd($var) { // returns whether the input integer is odd return($var & 1); } function even($var) { // returns whether the input integer is even return(!($var & 1)); } $array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5); $array2 = array(6, 7, 8, 9, 10, 11, 12); echo "Odd :\n"; print_r(array_filter($array1, "odd"));//1,3,5 echo "Even:\n"; print_r(array_filter($array2, "even"));//2,4,6
array_map — 為數組的每個元素應用回調函數
array_map ( callable $callback , array $array1 [, array $... ] )
參數
callback--回調函數,應用到每個數組里的每個元素。
array1--數組,遍歷運行 callback 函數。
...
數組列表,每個都遍歷運行 callback 函數。
返回值----返回數組,包含 callback 函數處理之后 array1 的所有元素。
例:
function cube($n) { return($n * $n * $n); } $a = array(1, 2, 3, 4, 5); $b = array_map("cube", $a); print_r($b);
輸出:
Array
(
[0] => 1
[1] => 8
[2] => 27
[3] => 64
[4] => 125
)
“如何操作php回調函數處理數組”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。