Php 计算多维数组值
我有一个名为$people的数组,如下所示:Php 计算多维数组值,php,arrays,multidimensional-array,count,Php,Arrays,Multidimensional Array,Count,我有一个名为$people的数组,如下所示: Array ( [541377306] => Array ( [0] => 6248267085 ) [731082330] => Array ( [0] => 6248267085 [1] => 229668807087652 ) [742088719] =
Array
(
[541377306] => Array
(
[0] => 6248267085
)
[731082330] => Array
(
[0] => 6248267085
[1] => 229668807087652
)
[742088719] => Array
(
[0] => 6248267085
)
[1133688950] => Array
(
[0] => 6248267085
)
)
您将看到[731082330]的值比其他值多。我怎么能数出来呢?这看起来应该很容易,但是我在这个地方找到的例子中没有一个能真正匹配我的数组类型。谢谢 有很多方法可以做到这一点。然而,这只是一个小小的暗示。这应该行得通
foreach ($array1 as $array2){ // array1 contains multiple arrays inside it
echo count($array2);
}
foreach($key=>$value的数组)
{
回声计数($value)。“
”;
}
尝试此操作您可以对每个元素应用常规的
计数()
$count = array_map('count', $people);
echo $count['731082330']; // 2
假设您不关心多个具有最多值的元素,则可以对其进行排序并拾取第一个键:
arsort($count);
echo key($count);
谢谢大家。这就是我们所做的
//count values
$count = array_map('count', $people);
//find highest
$value = max($count);
//find value for highest
$mostvalues = array_search($value, $count);
echo $mostvalues;
是否要计算731082330的2个值?还是第一个?你想用这个做什么样的条件?查找包含最多值的数组键?我希望能够输出包含最多值的数组键,echo$mostvalues将为我提供731082330。我现在正在查看响应。如果有两个元素都有2个值,该怎么办?
//count values
$count = array_map('count', $people);
//find highest
$value = max($count);
//find value for highest
$mostvalues = array_search($value, $count);
echo $mostvalues;