[英]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.