php 遍历统计问题
本文介绍了php 遍历统计问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
问题:在遍历循环时候,我想统计pid相同的数量。
数组:
Array
(
[0] => Array
(
[id] => 1
[pid] => 1
)
[1] => Array
(
[id] => 2
[pid] => 1
)
[2] => Array
(
[id] => 3
[pid] => 2
)
[3] => Array
(
[id] => 4
[pid] => 1
)
[4] => Array
(
[id] => 5
[pid] => 0
)
)
然后遍历循环:(统计pid =1 的)
foreach ( $上面数组 as $v ) {
if($v['pid] == 1){
echo count($v['pid']);
}
}
输出结果是 111 把111 相加 统计输出3
foreach ( $上面数组 as $v ) {
if($v['pid] == 1){
$arr[] = $v['pid'];
}
}
echo count($arr)
这回输出3,但是遍历里外还有foreach,我加了个判断如果某个值 :
$x 有可能是 1 或2 或 3
$x=1;
$x=2;
$x=3;
foreach ( $上面数组 as $v ) {
if($v['pid] == $x){
$arr[] = $v['pid'];
}
}
if($v['pid] == $x){
echo count($arr)
}
$x=1 循环输出 3
其它的 $x=2 输出 竟然是5 应该是1个 这个怎么解决。。?
解决方案
// $array 目标数组
// $target 要查的那个数
// return 个数
function total($array, $target) {
$i=0;
foreach ($array as $v) {
if ($v['pid'] == $target) $i++;
}
return $i;
}
这篇关于php 遍历统计问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文