我有两个数组库存库存和 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 与库存库存相同,我不能只是让 posStock 成为库存库存,因为库存库存有额外的产品未在销售点列出。
您可以使用数组联合。
+ 运算符返回附加到左侧数组的右侧数组;对于两个数组中都存在的键,将使用左侧数组中的元素,而右侧数组中的匹配元素将被忽略。
在您的情况下(如果我正确理解规范):
$newPOSStock = $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,或者如果我想或更改其他变量的值以触发其他行为。