计算多维数组值

时间:2014-03-17 06:41:17

标签: php arrays multidimensional-array count

我有一个名为$ people的数组,如下所示:

Array
(
    [541377306] => Array
        (
            [0] => 6248267085
        )

    [731082330] => Array
        (
            [0] => 6248267085
            [1] => 229668807087652
        )

    [742088719] => Array
        (
            [0] => 6248267085
        )

    [1133688950] => Array
        (
            [0] => 6248267085
        )

)

您会看到[731082330]的值多于其他值。我怎么能算这个呢?这似乎应该很容易,但我在这个地方找到的所有例子都没有真正符合我的那种数组。谢谢!

4 个答案:

答案 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;