[转]PHP统计数组元素个数

Array (  

[0] => 1011,1003,1008,1001,1000,1004,1012 

[1] => 1009

[2] => 1011,1003,1111

)

我的数组是这样的。

我现在想统计出

Array

{

[1011]=>1   //意思是说有几个

[1001]=>2

}

 

要怎么样统计呢
$arr = array(
            '1011,1003,1008,1001,1000,1004,1012',
            '1009',
            '1011,1003,1111'
        );
$result = array();
foreach ($arr as $str) {
    $str_arr = explode(',', $str);
    foreach ($str_arr as $v) {
        $result[$v] = isset($result[$v]) ? $result[$v] : 0;
         $result[$v] = $result[$v] + 1;
    }
}
print_r($result);
echo '<br />';
$set=array();
array_walk($arr,function($c) use (&$set ) {
       $elements=explode(',',$c);
       array_walk($elements,function($d) use(&$set){
              isset($set[$d])? $set[$d]++:$set[$d]=1;
          
       });
});


print_r($set);
echo '<br />';
$arr[0] = array(1011,1003,1008,1001,1000,1004,1012);
$arr[1] = 1009;
$arr[2] =array(1011,1003,1111);
function m2s($arr){
static $new_arr = array();
foreach($arr as $k=>$v){
if(is_array($v)){
m2s($v);

}else{
$new_arr[]=$v;
}
}
return $new_arr;
}
$arr_ = m2s($arr);


print_r(array_count_values ($arr_));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值