2016-11-16 54 views
0

對於一個汽車公司(只是一個例子),我需要自動化的現貨庫存:比較兩個數組(現貨庫存)

$ purchase_array =陣列(「蘭博基尼」 =>「5」,「法拉利」 >「4」,「Bugatti」=>「3」,「McLaren」=>「2」,「Fiat」=>「10」,「Mazda」=>「20」 (「蘭博基尼」=>「1」,「法拉利」=>「2」,「布加迪」 =>「3」);

我想有作爲結果此數組:

$ stock_array =陣列( 「蘭博基尼」=> 「4」, 「法拉利」=> 「2」, 「布加迪」 => 「0」,「McLaren」=>「2」,「Fiat」=>「10」,「Mazda」=>「20」);

首先,我找了常見的汽車:

$common_cars = array_keys(array_intersect_key($purchase_array, $sales_array)); 
foreach ($common_cars as $common_car) { 
..... 
} 

買我就不能完成它。

任何幫助將不勝感激。 在此先感謝

+0

製作'$ stock_array'的'$ purchase_array'通過'$ sales_array迭代副本'和每個項目,修改'$ stock_array'的相應值 –

+0

謝謝亞歷杭德羅。我知道。只有我無法弄清楚如何做到這一點。我希望你能幫忙。我不知道從哪裏開始。提前致謝。 –

回答

1

你可以做類似的事情。如果你想保存purchase_array,你可以將數組複製到另一個var。

N.B.如果你可以檢索/存儲量爲intergers你可以肯定,當你遍歷所有的項目,你不會得到一個意想不到的結果

$aPurchaseArray = array("Lamborghini" => 5, "Ferrari" => 4, "Bugatti" => 3, "McLaren" => 2, "Fiat" => 1", "Mazda" => 2"); 

$aSalesArray = array("Lamborghini" => 1, "Ferrari" => 2, "Bugatti" => 3); 

// foreach sales item, using the key as the name and value as quantity sold 
foreach($aSalesArray as $sProductName => $iQuantitySold){ 

    // if the product name exists in the target reduce its quantity 
    if(isset($aPurchaseArray[$sProductName])){ 
     $aPurchaseArray[$sProductName] - $iQuantitySold; 
    } 

} 
+0

非常感謝你的原子。它爲我工作。幹得好:) –

+1

很高興我能幫忙:) – atoms