php回調(diào)函數(shù)處理數(shù)組操作示例
本文實(shí)例講述了php回調(diào)函數(shù)處理數(shù)組操作。分享給大家供大家參考,具體如下:
array_reduce— 用回調(diào)函數(shù)迭代地將數(shù)組簡(jiǎn)化為單一的值
mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )
callback【mixed callback ( mixed $carry , mixed $item ) carry--攜帶上次迭代里的值; 如果本次迭代是第一次,那么這個(gè)值是 initial。item --攜帶了本次迭代的值。】 initial【如果指定了可選參數(shù) initial,該參數(shù)將在處理開(kāi)始前使用,或者當(dāng)處理結(jié)束,數(shù)組為空時(shí)的最后一個(gè)結(jié)果。】例:
$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 — 用回調(diào)函數(shù)過(guò)濾數(shù)組中的單元
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ) 返回過(guò)濾后的數(shù)組。
array--要循環(huán)的數(shù)組 callback--使用的回調(diào)函數(shù),如果沒(méi)有提供 callback 函數(shù), 將刪除 array 中所有等值為 FALSE 的條目。 flag--決定callback接收的參數(shù)形式: ARRAY_FILTER_USE_KEY - callback接受鍵名作為的唯一參數(shù) ARRAY_FILTER_USE_BOTH - callback同時(shí)接受鍵名和鍵值例:
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,5echo 'Even:n';print_r(array_filter($array2, 'even'));//2,4,6
array_map — 為數(shù)組的每個(gè)元素應(yīng)用回調(diào)函數(shù)
array_map ( callable $callback , array $array1 [, array $... ] )
參數(shù)
callback--回調(diào)函數(shù),應(yīng)用到每個(gè)數(shù)組里的每個(gè)元素。 array1--數(shù)組,遍歷運(yùn)行 callback 函數(shù)。...
數(shù)組列表,每個(gè)都遍歷運(yùn)行 callback 函數(shù)。
返回值----返回?cái)?shù)組,包含 callback 函數(shù)處理之后 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)
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《php常用函數(shù)與技巧總結(jié)》、《PHP錯(cuò)誤與異常處理方法總結(jié)》、《PHP基本語(yǔ)法入門(mén)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》及《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章:
1. ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享2. XML解析錯(cuò)誤:未組織好 的解決辦法3. 解析原生JS getComputedStyle4. 小技巧處理div內(nèi)容溢出5. 得到XML文檔大小的方法6. CSS可以做的幾個(gè)令你嘆為觀(guān)止的實(shí)例分享7. php使用正則驗(yàn)證密碼字段的復(fù)雜強(qiáng)度原理詳細(xì)講解 原創(chuàng)8. 詳解瀏覽器的緩存機(jī)制9. 淺談?dòng)蓀osition屬性引申的css進(jìn)階討論10. ASP中實(shí)現(xiàn)字符部位類(lèi)似.NET里String對(duì)象的PadLeft和PadRight函數(shù)

網(wǎng)公網(wǎng)安備