合并并通过在多个阵列组 [英] Merge and group by several arrays
本文介绍了合并并通过在多个阵列组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要通过名称合并关联数组和组。说我有这样的3个数组:
I need to merge associative arrays and group by the name. Say I have such 3 arrays:
ARRAY1
"/path/file.jpg" => 2,
"/path/file2.bmp" => 1,
"/file3.gif" => 5,
ARRAY2
"/path/file.jpg" => 1,
"/path/file2.bmp" => 1,
"/file3.gif" => 0,
ARRAY3
"/path/file.jpg" => 1,
"/path/file2.bmp" => 1,
我需要通过文件路径为这些阵列合并成一个,并将它们组合,并有自己的价值总和的结果。是这样的:
I need to merge these arrays to one and group them by filepath and have result of sum of their values. Something like:
SELECT filename, SUM(val) FROM files
GROUP BY filename
但有多个输入数组。数组是短(约20元最大值)。每个阵列可能有不同的大小。
But with multiple input arrays. Arrays are short (around 20 elements max). Each array might have different size.
推荐答案
的一种可能的方式的
$rtn = array();
foreach ($array1 as $key=>$val)
{
$rtn[$key]+=$val;
}
foreach ($array2 as $key=>$val)
{
$rtn[$key]+=$val;
}
foreach ($array2 as $key=>$val)
{
$rtn[$key]+=$val;
}
以上将分配文件名,SUM(VAL)
作为关联数组 $ RTN
这篇关于合并并通过在多个阵列组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文