php 多维数组根据key更新

php multidimensional arrays updating based on keys

我有两个数组 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 设置为库存库存,因为库存库存有未在销售点列出的额外产品。

您正在寻找 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,或者如果我想要或更改其他变量的值以触发其他行为。

您可以使用 array union.

The + operator returns the right-hand array appended to the left-hand array; for keys that exist in both arrays, the elements from the left-hand array will be used, and the matching elements from the right-hand array will be ignored.

你的情况(如果我理解正确的话):

$newPOSStock = $inventoryStock + $posStock;