我想总结几个数组。我有一个脚本,可以动态创建没有名称的数组。下面是一个例子。在我的脚本中,我有90多个数组。我想总结一下。该数组中的所有键都是用户ID,因此我只希望键的总和。怎么做?问候
Array
(
[1] => 1
[2] => 1
[3] => 1
)
Array
(
[1] => 1
[2] => 1
)
Array
(
[1] => 1
)
我只想获得一个数组结果,如:
Array
(
[1] => 3
[2] => 2
[3] => 1
)
答案 0 :(得分:0)
将所有阵列添加到一个阵列中。
$all_arrays[] =Array
(
[1] => 1 ,
[2] => 1,
[3] => 1
);
$all_arrays[] = Array
(
[1] => 1,
[2] => 1
) ;
$all_arrays[] = Array
(
[1] => 1
);
$results = [];
foreach($all_arrays as $arr){
foreach($arr as $user_id=>$value){
if(in_array($user_id,$results)){
$results[$user_id] = $results[$user_id] + $value;
}else{
$results[$user_id] = $value;
}
}
}
答案 1 :(得分:0)
您需要在array_merge
中指定所有数组:
$result = array_count_values(array_keys(array_merge($array1, $array2, $array3)));
如果您可以将数组动态添加到另一个$main_array
,例如:
Array
(
[0] => Array
(
[1] => 1
[2] => 1
[3] => 1
)
[1] => Array
(
[1] => 1
[2] => 1
)
[2] => Array
(
[1] => 1
)
)
那会容易得多:
$result = array_count_values(array_keys(array_merge(...$main_array)));