2016-11-16 2 views
0

の比較私は在庫の在庫を自動化する必要があります。車会社(単なる例)の場合、二つの配列(在庫目録)

$ purchase_array =配列(「ランボルギーニ」=>「5」、「フェラーリ」 => "4"、 "Bugatti" => "3"、 "McLaren" => "2"、 "Fiat" => "10"、 "Mazda" => "20"

$ sales_array = array( "Lamborghini" => "1"、 "Ferrari" => "2"、 "Bugatti" => "3");

私は結果としてこの配列を持つようにしたい:

$ stock_array =配列( "ランボルギーニ" => "4"、 "フェラーリ" => "2"、 "ブガッティ" => "0"、 "マクラーレン" => "2"、 "フィアット" => "10"、 "マツダ" => "20");

まず私は、一般的な車を探して:

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

購入は、私はそれを終えることができませんでした。

ご協力いただければ幸いです。 ありがとうございます

+0

メイク '$ stock_array'' $ sales_arrayを反復処理の$ purchase_array' 'のコピーを取得するとき/あなたが確認することができますintergersとして数量を保存します'および各項目について、' $ stock_array'の対応する値を変更してください –

+0

ありがとうアレハンドロ。そんなこと知ってる。私はそれをする方法を理解できませんでした。私はあなたが助けることを願っています私はどこから始めるべきかわかりません。前もって感謝します。 –

答えて

1

あなたはこれに類似したことをすることができます。 purchase_arrayを保持したい場合、配列を別のvarにコピーすることができます。

N.B.あなたが取得できた場合は、アイテムをループあなたは文句を言わない予期せぬ結果に

$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

関連する問題