[英]PHP combine 2 arrays (multidimentional) into Array 3 with some calculations
我对以下问题不屑一顾。 我有2个不同供应商的2个csv文件。 我想将两个供应商的库存添加到新的总阵列中。
这是数组1的输出
Array
(
[0] => Array
(
[ARTNUMBER] => 12345
[STOCK] => 3
)
)
这是数组2的输出
Array
(
[0] => Array
(
[ARTNUMBER] => 12345
[STOCK] => 5
)
[2] => Array
(
[ARTNUMBER] => 23456
[STOCK] => 5
)
)
新数组应如下所示:
Array
(
[0] => Array
(
[ARTNUMBER] => 12345
[STOCK] => 8
)
[2] => Array
(
[ARTNUMBER] => 23456
[STOCK] => 5
)
)
我想做两件事:
有人可以帮我解决这个问题吗?
(我正在寻找最简单的方法)
这应该工作
$array_1[] = array( "ARTNUMBER" => 12345, "STOCK" => 5 );
$array_2[] = array( "ARTNUMBER" => 12345, "STOCK" => 5 );
$array_2[] = array( "ARTNUMBER" => 23456, "STOCK" => 5 );
$data = array();
foreach($array_1 as $key => $value) {
if(key_exists($value["ARTNUMBER"], $data)) {
$data[$value["ARTNUMBER"]] += $value["STOCK"];
}
else {
$data[$value["ARTNUMBER"]] = $value["STOCK"];
}
}
foreach($array_2 as $key => $value) {
if(key_exists($value["ARTNUMBER"], $data)) {
$data[$value["ARTNUMBER"]] += $value["STOCK"];
}
else {
$data[$value["ARTNUMBER"]] = $value["STOCK"];
}
}
$final = array();
foreach($data as $key => $value) {
$final[] = array( "ARTNUMBER" => $key, "STOCK" => $value );
}
echo "<pre>";
print_r($final);
echo "</pre>";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.