我有两个数组stockStock和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与stockStock相同,我不能仅使posStock成为库存库存,因为库存库存中包含未在销售点列出的其他产品。

#1楼 票数:2

您可以使用数组并集

+运算符返回添加到左侧数组的右侧数组; 对于两个数组中都存在的键,将使用左侧数组中的元素,而右侧数组中的匹配元素将被忽略。

就您而言(如果我正确理解规范):

$newPOSStock = $inventoryStock + $posStock;

#2楼 票数: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中时(例如,我想要或更改其他变量的值以触发其他行为)的情况下做一些事情。

  ask by Sterling Lutes translate from so

未解决问题?本站智能推荐:

2回复

Php 多维数组过滤和求和

我有一个像这样的多维数组: 我想收到一个这样的数组: 基本上,只有当数组的每个元素中都存在治疗时,我才必须对每次治疗的价格求和(hb=half-board, fb=full board, ai=all inclusive)。
4回复

如何在php中获取重复的多维数组

我有一个多维数组: 看一下第一个索引(或零)和第三个索引(第二个索引),a,b,c,d中的值等于1,2,3,4。 假设数组相等,或者数组没有不同; 我的问题是,如何捕捉相等的数组,目的是向用户展示输入重复的值, 我已经在使用array_unique 。 结果是: 但是
3回复

PHP Array_intersect在具有未知键数的多维数组上

我正在尝试在包含资源(人员)的应用程序中创建高级搜索过滤器。 我在1个多维数组中得到了所有结果。 应用程序的用户可以搜索人员职位,技能,工作领域和国家。 我已经完成了我查找符合用户标准的人的部分。 这些结果存储在多维数组中。 如果用户正在寻找具有作业标题和特定技能的特定资源的人,则
4回复

PHP:如何比较一个数组中的键与另一个数组中的值,并返回匹配?

我有以下两个数组: 我想要一个来自$array_one的数组,它只包含其键是$ array_two成员的键值对 (通过创建一个新数组或从$array_one删除其余元素) 我怎样才能做到这一点? 我查看了array_diff和array_intersect ,但是它们将值与值
3回复

在多维数组上使用 array_intersect

我有两个数组,它们看起来都像这样: 我希望能够通过比较两个主阵列中子阵列的 ID 来复制 array_intersect。 到目前为止,我的尝试还没有成功。 :(
1回复

从多维数组获取数组中的相交值

我有这个数组 主数组中的子数组可以增加,目前有3个子数组。 如何从主数组中获取仅作为数组的相交值。 例如,“ Monaco Swarovski”,“ Long”值不应该在相交数组上,因为:这些值并非在所有子数组中都存在。 输出数组(相交)结构必须类似于主数组格式的子数组
2回复

如何获得多个多维数组的所有可能交集?

我在PHP中有两个这样的数组: 现在,我想获得这两个多维数组的所有可能的交集。 意味着我总共可以得到4个数组: $array1[0]和$array2[0] $array1[1]和$array2[0] $array1[0]和$array2[1] $arr
2回复

从给定的两个值中查找多维数组中的值

我有以下数组。 从这个数组中,我想要给定产品和价值的日期。 例如,我将 product = p2 和 item = q2 作为字符串。 现在从这个数组中,我想要一个来自这个数组的日期,它有 product = p2 和 item = q2。 所以我需要上面例子的输出是: d2 我尝试了 a