開發(fā)中遇到一個(gè)數(shù)組操作的棘手問(wèn)題好在一番搜索之后再網(wǎng)上找到了一些答案。
說(shuō)明一下這段文字引用于http://www.phpfensi.com/php/20140107/1147.html
過(guò)濾關(guān)聯(lián)數(shù)組的結(jié)果
假定你得到了如下一個(gè)數(shù)組,但是你僅僅想操作價(jià)格低于$11.99的元素:
Array
(
[0] => Array
(
[name] => checkers
[price] => 9.99
)
[1] => Array
(
[name] => chess
[price] => 12.99
)
[2] => Array
(
[name] => backgammon
[price] => 29.99
)
) ```
使用array_reduce()函數(shù)可以很簡(jiǎn)單的實(shí)現(xiàn),代碼如下:
```php
function filterGames($game){
return ($game['price'] < 11.99);
}
$names = array_filter($games, 'filterGames');
array_reduce()函數(shù)會(huì)過(guò)濾掉不滿足回調(diào)函數(shù)的所有的元素,本例子的回調(diào)函數(shù)就是filterGames,任何價(jià)格低于11.99的元素會(huì)被留下,其他的會(huì)被剔除,該代碼段的執(zhí)行結(jié)果:
Array
(
[1] => Array
(
[name] => checkers
[price] => 9.99
)
)