繁体   English   中英

php基于键的多维数组更新[关闭]

php multidimensional arrays updating based on keys [closed]

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有两个数组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成为库存库存,因为库存库存中包含未在销售点列出的其他产品。

2 个回复

您可以使用数组并集

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

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

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

1 PHP找到多维数组的数组索引键来更新数组

我试图想出一种处理可能非常大的数组的方法。 我正在做的是使用facebook graph api。 因此,当用户注册我正在构建的服务时,我将他们的facebook id存储在我的服务中的表中。 这样做的目的是允许注册我的服务的用户找到他们在Facebook上的朋友,并通过我的服务注册以 ...

2 从其他键更新多维数组

我有一个这样的结果数组: 我有第二个数组 如何在不丢失任何键索引的情况下基于$test数组的键更新$result数组。 要点是$result可以具有任何结构,并且可以动态生成,但是$test数组将始终具有键索引,该索引在某种程度上与$result数组匹配。 通用的PHP数组结 ...

3 更新多维数组(PHP)中的特定键

我在更新我创建的多维数组中的数量值时遇到了一些困难,希望您能帮助我纠正出错的地方。 。 的背景 我有两个“项目”,它们都有一个简单的表单标签,后跟一个具有唯一值的隐藏输入字段(第一项为1,第二项为2)。 使用POST方法,该按钮将仅指向该页面。 然后,页面右侧的div将 ...

5 更新PHP多维数组

我想基于pid和size更新数组,如果产品id和size都在同一数组元素中匹配,那么它将通过添加数量并将它们合并到一个索引中来更新数量。 我的代码是:_ 输出应该看起来像 输出: ...

7 如何存储多维数组数据并通过键更新它

我正在开发多维数组的存储和更新功能。 表单中有一个隐藏的ID,该ID在克隆表单时必须是唯一的。 如何从表单中存储具有隐藏值的数据? 我已经尝试过for循环和for-each循环,但是无法存储唯一的隐藏值,该值从表单为null 所有数据应与唯一的隐藏数据一起保存,并通 ...

8 通过键更新多维数组中的元素

也许我不知道如何正确地问Google,但是我需要更新多维关联数组中的元素。 数组示例: 我想搜索键(例如:4082)并添加或更改元素值。 我知道我可以使用array_key_exists()搜索一个键,但这只会返回true或false。 有没有一种方法可以通过引用返回元 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM