PHP更新关联数组
我只想更新我在PHP中创建的关联数组中的[“distanceTimeFromNextPoint”]元素 我正在尝试更新以下数组结构:PHP更新关联数组,php,arrays,foreach,associative-array,Php,Arrays,Foreach,Associative Array,我只想更新我在PHP中创建的关联数组中的[“distanceTimeFromNextPoint”]元素 我正在尝试更新以下数组结构: Array ( [0] => Array ( [Total time] => 0:00 [0] => Array ( [place] => Spanish steps [distanceTimeFromNextPoint] => ) [1]
Array
(
[0] => Array
(
[Total time] => 0:00
[0] => Array
(
[place] => Spanish steps
[distanceTimeFromNextPoint] =>
)
[1] => Array
(
[place] => Piazza Venezia
[distanceTimeFromNextPoint] =>
)
)
[1] => Array
(
[Total time] => x0:00
[0] => Array
(
[place] => Piazza Venezia
[distanceTimeFromNextPoint] =>
)
[1] => Array
(
[place] => Spanish steps
[distanceTimeFromNextPoint] =>
)
)
)
但是当我运行这个循环时,[“Total time”]元素也会更新强>
有没有想过我的循环出了什么问题,我该如何改变它
这是我的代码(上面的数组定义为$new\u数组):
提前谢谢。如果我的结构正确,只需添加一个条件,排除该键并检查该元素是否具有所需的子键,然后进行修订:
foreach($new_array as $i => $element) {
foreach($element as $j => $sub_element) {
if($j !== 'Total time' && array_key_exists('distanceTimeFromNextPoint', $sub_element)) {
$new_array[$i][$j]['distanceTimeFromNextPoint'] = 'x';
}
}
}
您应该测试元素“distanceTimeFromNextPoint”是否已经存在
if (is_array($new_array[$i][$j]) && array_key_exists('distanceTimeFromNextPoint', $new_array[$i][$j]))
{
// you can update it
}
我得到的错误是:警告:array\u key\u exists()期望参数2是array,在中给出的字符串您应该添加如果元素是使用is\u数组函数的数组,我将编辑我的response@user2828251真高兴这有帮助
if (is_array($new_array[$i][$j]) && array_key_exists('distanceTimeFromNextPoint', $new_array[$i][$j]))
{
// you can update it
}