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;
我有两个数组 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;