php回調(diào)函數(shù)處理數(shù)組操作示例
本文實例講述了php回調(diào)函數(shù)處理數(shù)組操作。分享給大家供大家參考,具體如下:
array_reduce— 用回調(diào)函數(shù)迭代地將數(shù)組簡化為單一的值
mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )
- callback【mixed callback ( mixed $carry , mixed $item ) carry--攜帶上次迭代里的值; 如果本次迭代是第一次,那么這個值是 initial。item --攜帶了本次迭代的值?!?/li>
- initial【如果指定了可選參數(shù) initial,該參數(shù)將在處理開始前使用,或者當處理結(jié)束,數(shù)組為空時的最后一個結(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ù)過濾數(shù)組中的單元
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ) 返回過濾后的數(shù)組。
- array--要循環(huán)的數(shù)組
- callback--使用的回調(diào)函數(shù),如果沒有提供 callback 函數(shù), 將刪除 array 中所有等值為 FALSE 的條目。
- flag--決定callback接收的參數(shù)形式:
- ARRAY_FILTER_USE_KEY - callback接受鍵名作為的唯一參數(shù)
- 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 — 為數(shù)組的每個元素應(yīng)用回調(diào)函數(shù)
array_map ( callable $callback , array $array1 [, array $... ] )
參數(shù)
- callback--回調(diào)函數(shù),應(yīng)用到每個數(shù)組里的每個元素。
- array1--數(shù)組,遍歷運行 callback 函數(shù)。
...
數(shù)組列表,每個都遍歷運行 callback 函數(shù)。
返回值----返回數(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)容感興趣的讀者可查看本站專題:《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《php常用函數(shù)與技巧總結(jié)》、《PHP錯誤與異常處理方法總結(jié)》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》及《PHP數(shù)學(xué)運算技巧總結(jié)》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
PHP使用PDO操作sqlite數(shù)據(jù)庫應(yīng)用案例
這篇文章主要介紹了PHP使用PDO操作sqlite數(shù)據(jù)庫,結(jié)合實例形式分析了php基于yaf框架使用pdo操作sqlite數(shù)據(jù)的相關(guān)原理、步驟與操作技巧,需要的朋友可以參考下2019-03-03php讀取mysql中文數(shù)據(jù)出現(xiàn)亂碼的解決方法
以下是對php讀取mysql中文數(shù)據(jù)出現(xiàn)亂碼問題的解決方法進行了介紹,需要的朋友可以過來參考下2013-08-08php中讀寫文件與讀寫數(shù)據(jù)庫的效率比較分享
一直以來大家都把一些不經(jīng)常修改的數(shù)據(jù)保存為文件來調(diào)用,看來還是比較正確的,直接讀文件相比數(shù)據(jù)庫查詢效率更勝一籌,而且文中還沒算上連接和斷開的時間2013-10-10PHP轉(zhuǎn)換文件夾下所有文件編碼的實現(xiàn)代碼
本篇文章是對PHP轉(zhuǎn)換文件夾下所有文件編碼的實現(xiàn)代碼進行了詳細的分析介紹,需要的朋友參考下2013-06-06