我正在尝试将键=>值添加到具有特定值的现有数组。
我基本上循环遍历一个关联数组,我想为每个具有特定 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/