-1

私は 2 つの配列 inventoryStock と posStock (販売時点在庫) を持っています。どちらも製品の SKU 番号をキーとして使用し、値は手持ちの数量です。キーが一致する $inventoryStock の値で posStock を更新する必要があります。

配列の例:

inventoryStock{
   abs-0098 => 5,
   abs-0099 => 23,
   abs-0100 => 8,
   abs-0101 => 19
}

posStock{
 abs-0098 => 5,
 abs-0099 => 23,
 abs-0101 => 15
}

posStock を inventoryStock と同じにする必要があります。在庫在庫には POS にリストされていない余分な製品があるため、単に posStock を在庫在庫にすることはできません。

4

2 に答える 2

2

配列ユニオンを使用できます。

+ 演算子は、左側の配列に追加された右側の配列を返します。両方の配列に存在するキーの場合、左側の配列の要素が使用され、右側の配列の一致する要素は無視されます。

あなたの場合(仕様を正しく理解している場合):

$newPOSStock = $inventoryStock + $posStock;
于 2015-01-14T18:34:33.727 に答える
1

PHP の array_key_exists() 関数を探しています。

foreach ($inventoryStock as $key => $value) {
      if (array_key_exists($key, $posStock)) {
        $posStock[$key] = $value;
        continue; // Continue Loop
      }
      // Do something if the array key doesn't exist.
    }

なぜ私がこのようにするのかを詳しく説明します。配列キーが存在しない場合に PosStock に追加したり、他の変数の値を変更したり変更して他の動作をトリガーしたりできるようにするロジック ブロックができました。

于 2015-01-14T18:34:24.710 に答える