-1

我有两个数组 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 相同,我不能只将 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 回答