在两个不同的数组中找到相同的键,然后从第一个数组中减去第二个数组的值

时间:2019-06-12 12:26:35

标签: php arrays loops

我有两个数组,一个包含大小和库存,一个数组是某人订购商品时的订购信息。

例如,它们看起来像这样:

订单数组:

Array
(
    [productId] => 3
    [productname] => Test product 2
    [quantity] => 2
    [price] => 4500
    [extra] => M
    [description] => Kleding
    [vatCode] => H
)

库存和尺寸数组:

Array
(
    [maten0] => Array
        (
            [One-Size] => 
            [XS] => 
            [S] => 
            [M] => 20
            [L] => 
            [XL] => 
            [XXL] => 
        )

)

我遍历订单数组,对于每种产品,我都会得到库存和尺寸数组,如下所示:

foreach($prodinfojson as $prodinfo){
  if(!empty($prodinfo['extra'])){
    $extra = ' - '.$prodinfo['extra'];
  }

  //Get stock and sizes
  $getstock = 'SELECT * FROM snm_fields_values WHERE item_id = "'.$conn->real_escape_string($prodinfo['productId']).'" AND field_id = 8';
  $getstockcon = $conn->query($getstock);
  $getstock = $getstockcon->fetch_assoc();

  $getstock = json_decode($getstock['value'], true);

  echo '<pre>';
  print_r($prodinfo);
  echo '</pre>';


  echo '<pre>';
  print_r($getstock);
  echo '</pre>';

}

我想要的是当订单通过时,应该更新库存。因此,在上面的示例中,某人订购了商品ID为Test product 2的{​​{1}}尺寸为M的产品ID。现在我的库存数组有2,但是由于要购买20的数量,因此我想将其更新为18

我该怎么做?

0 个答案:

没有答案