我有一个多维数组,如下所示:
array(6) {
[0]=>
array(6) {
[0]=>
string(5) "email"
[1]=>
string(5) "vote1"
[2]=>
string(5) "vote2"
[3]=>
string(5) "vote3"
[4]=>
string(5) "vote4"
[5]=>
string(5) "vote5"
}
[1]=>
array(6) {
[0]=>
string(5) "a@a.a"
[1]=>
string(1) "A"
[2]=>
string(1) "B"
[3]=>
string(1) "C"
[4]=>
string(1) "D"
[5]=>
string(1) "E"
}
[2]=>
array(6) {
[0]=>
string(5) "b@b.b"
[1]=>
string(1) "A"
[2]=>
string(1) "B"
[3]=>
string(1) "C"
[4]=>
string(1) "D"
[5]=>
string(1) "E"
}
[3]=>
array(6) {
[0]=>
string(5) "c@c.c"
[1]=>
string(1) "A"
[2]=>
string(1) "B"
[3]=>
string(1) "C"
[4]=>
string(1) "D"
[5]=>
string(1) "E"
}
[4]=>
array(6) {
[0]=>
string(5) "d@d.d"
[1]=>
string(1) "A"
[2]=>
string(1) "B"
[3]=>
string(1) "C"
[4]=>
string(1) "D"
[5]=>
string(1) "E"
}
[5]=>
array(6) {
[0]=>
string(5) "e@e.e"
[1]=>
string(1) "A"
[2]=>
string(1) "B"
[3]=>
string(1) "C"
[4]=>
string(1) "D"
[5]=>
string(1) "E"
}
}
我想计算每个数组位置[1]
的每个值的次数。
我尝试了许多内容,包括array_count_values()
,但这并不允许选项在每个数组的某个位置计算出现次数。我不太确定如何处理这个问题,因为数组是多维的,我从来没有必要处理只计算特定位置的值。
如果对此的答案显而易见,我道歉,我已经在这个问题上工作了几个小时但无济于事,但我也是数组的初学者,特别是多维。欢迎所有想法:)
答案 0 :(得分:2)
您可以做的是,您可以遍历数组并将[1]
的值放入另一个数组中,并在结果数组上应用array_count_values
。
$a = array();
foreach ($arr as $ar) {
$a[] = $ar[1];
}
print_r(array_count_values($a));
这会给你:
vote1
:1 A
:5 如果您正在寻找上述内容?如果您想要更短的版本,也可以使用array_column
。
答案 1 :(得分:0)
使用array_column($ array,1)将position [1]元素作为数组获取;然后使用你的array_count_values()来计算它们。
<?php
$array = [[1,2,3],[2,3,4]];
var_dump(array_count_values ( array_column($array,1) ));