PHP-计算多维数组中第一个元素的唯一值
我有这个阵列:PHP-计算多维数组中第一个元素的唯一值,php,arrays,count,Php,Arrays,Count,我有这个阵列: 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] => )
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] => )
)
并希望对每个内部数组的第一个元素中的唯一值执行计数。在上面的示例中,一个具有2个b、1个c和1个a
我已经对此进行了测试:
$count = 0;
foreach ($the_outer_array as $key=>$value) {
if ($value [0] == 'c') {
$count++;
}
}
但我一次只能检查一个值。想知道是否有一个外循环,“foreach(范围('a','d')为$i)”?计数完成后,我希望将值存储在数组中(即找到的字母和实例数)
对循环内部循环中第一个元素的唯一值有什么建议吗?再次感谢!使用并增加计数
$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;
}
}
在PHP5.5中有+:
例如:
print_r(array_count_values(array_column($array, 0)));
<?php
header('Content-Type: text/plain; charset=utf-8');
$array = [
[ 'b', 'd', 'c', 'a' ],
[ 'c', 'a', 'd', 'a' ],
[ 'c', 'b', 'c', 'a' ]
];
print_r(array_count_values(array_column($array, 0)));
?>
Array
(
[b] => 1
[c] => 2
)