统计多维数组php_PHP多维数组中统计元素个数
Array
(
[0] => Array
(
[0] => Array
(
[0] => Array
(
[id] => 12
[name] => '1'
)
[1] => Array
(
[id] => 28
[name] => '2'
)
.....
)
[1] => Array
(
[0] => Array
(
[id] => 121
[name] => '2'
)
[1] => Array
(
[id] => 281
[name] => '4'
)
...
)
)
....
)
我想統(tǒng)計name對應的值出現的次數,
比如name=’2’出現的次數是2
比如name=’4’出現的次數是1
有什么好的辦法么?
只能使用遍歷的話,如何效率最高?
可以使用外部工具:mysql,Memcache、redis。
$result = array();
array_walk_recursive($demo, function($value,$key) use(&$result){
if ($key == 'name') {
$result[$value] += 1;
}
});
print_r($result);
不知道能不能滿足你的需求。最終的數組中的
key
==
name
的值
首先,比較中意樓上的方法
其次,這個本身也可以通過遞歸函數的方式來實現
function doFind(array $demo, &$result) {
foreach ($demo as $key => $value) {
if (is_array($value)) {
doFind($value, $result);
}
if ($key == 'name') {
if (!isset($result[$value])) {
$result[$value] = 1;
} else {
$result[$value]++;
}
}
}
}
$ret = [];
doFind($demo, $ret);
var_dump($ret);
通過對數組進行遞歸判斷,進行值統(tǒng)計。
總結
以上是生活随笔為你收集整理的统计多维数组php_PHP多维数组中统计元素个数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 朴朴覆盖哪些城市(汉典朴字的基本解释)
- 下一篇: php的完整代码块,简单测试了一下php