我有一个名为$ people的数组,如下所示:
Array
(
[541377306] => Array
(
[0] => 6248267085
)
[731082330] => Array
(
[0] => 6248267085
[1] => 229668807087652
)
[742088719] => Array
(
[0] => 6248267085
)
[1133688950] => Array
(
[0] => 6248267085
)
)
您会看到[731082330]的值多于其他值。我怎么能算这个呢?这似乎应该很容易,但我在这个地方找到的所有例子都没有真正符合我的那种数组。谢谢!
答案 0 :(得分:1)
有很多方法可以做到。但是,只是一个小小的提示。这应该有用。
foreach ($array1 as $array2){ // array1 contains multiple arrays inside it
echo count($array2);
}
答案 1 :(得分:1)
您可以对每个元素应用常规count()
:
$count = array_map('count', $people);
echo $count['731082330']; // 2
这可以进行排序,并且可以选择第一个键,假设您不关心具有最多值的多个元素:
arsort($count);
echo key($count);
答案 2 :(得分:0)
foreach ($array as $key => $value)
{
echo count($value) . "<br />";
}
试试这个
答案 3 :(得分:0)
谢谢大家。这就是它做的。
//count values
$count = array_map('count', $people);
//find highest
$value = max($count);
//find value for highest
$mostvalues = array_search($value, $count);
echo $mostvalues;