加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP – 计算多维数组中第一个元素的唯一值

发布时间:2020-12-13 17:26:22 所属栏目:PHP教程 来源:网络整理
导读:我有这个数组: Array ( [0] = Array ( [0] = b [1] = d [2] = c [3] =a [4] = ) [1] = Array ( [0] = c [1] = a [2] = d [3] = [4] = ) [2] = Array ( [0] = b [1] = d [2] = a [3] = [4] = )[3] = Array ( [0] = a [1] = d [2] = c [3] =b [4] = )) 并且想
我有这个数组:

Array ( 
[0] => Array ( [0] => b [1] => d [2] => c [3] =>a [4] => ) 

[1] => Array ( [0] => c [1] => a [2] => d [3] => [4] => ) 

[2] => Array ( [0] => b [1] => d [2] => a [3] => [4] => )

[3] => Array ( [0] => a [1] => d [2] => c [3] =>b [4] => )

)

并且想要对每个内部数组的第一个元素中的唯一值执行计数.在上面的例子中,一个有b中的2个,c中的1个和a中的1个.

我测试了这个:

$count = 0;
foreach ($the_outer_array as $key=>$value) {
    if ($value [0] == 'c') {
        $count++;
    }
}

但我一次只能检查一个值.想知道是否有一个外循环,“foreach(范围(‘a’,’d’)为$i)”?计数完成后,我希望将值存储在一个数组中(即找到的字母和实例数).

循环遍历内循环中第一个元素的唯一值的任何建议?再一次谢谢你!

解决方法

使用 array_key_exists&递增计数,

$newArray = array();
foreach ($the_outer_array as $key=>$value) {
    $firstValue = $value[0];
    if ($foundKey = array_key_exists($firstValue,$newArray)) {
        $newArray[$firstValue] += 1;
    }
   else{
        $newArray[$firstValue] = 1;
   }
}

DEMO.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读