php - 将 key=>value 对添加到具有条件的现有数组

标签 php arrays associative-array

我正在尝试将键=>值添加到具有特定值的现有数组。

我基本上循环遍历一个关联数组,我想为每个具有特定 id 的数组添加一个键=>值:

例如:

[0] => Array
    (
        [id] => 1
        [blah] => value2

    )

[1] => Array
    (
        [id] => 1
        [blah] => value2
    )

我想这样做,而

foreach ($array as $arr) {

     while $arr['id']==$some_id {

            $array['new_key'] .=$some value
            then do a array_push
      }    
}

所以 $some_value 将与特定的 id 相关联。

最佳答案

while 循环没有意义,因为键在关联数组中是唯一的。另外,您确定要在遍历数组时修改数组吗?这可能会导致问题。试试这个:

$tmp = new array();
foreach ($array as $arr) {

     if($array['id']==$some_id) {
            $tmp['new_key'] = $some_value;
      }    
}


array_merge($array,$tmp);

一个更有效的方法是这样的:

if(in_array($some_id,$array){
  $array['new_key'] = $some_value;
}

或者如果它是您要匹配的数组中的键而不是值...

if(array_key_exists($some_id,$array){
      $array['new_key'] = $some_value;
    }

关于php - 将 key=>value 对添加到具有条件的现有数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11461781/

相关文章:

php - 如何在 PHP 中定义 X509 证书的特定用途

javascript - 如何使用 reduce 在 Javascript 中返回一个对象?

php - 如何比较内部数组键和值并在 PHP 中相应地设置变量的值?

php - 计算多维关联数组中的项目

arrays - bash 关联数组需要语法错误操作数

php - 如何让Mysql加载图片更快?

php - 为 CodeIgniter 中的 foreach 提供的参数无效

没有数字键的PHP array_push

javascript - 允许单选按钮仅被选中一次以选择其唯一值

javascript - 遍历对象时遇到问题