如何在php中替换数组中的特定键值?


How can I replace a specific key's value in an array in php?

我有一个有3个值的数组。在用户按下提交按钮后,我希望它用另一个值替换我指定的键的值。

如果我有一个值为(0 => A, 1 => B, 2 => C)的数组,并且函数运行,则结果数组应该是(0 => A, 1 => X, 2 => C),例如,如果函数的参数告诉它用新值替换数组中的第二个点。

如何在php中替换数组中的特定键值?

如果您知道密钥,您可以:

$array[$key] = $newVal;

如果你没有,你可以这样做:

$pos = array_search($valToReplace, $array);
if ($pos !== FALSE)
{
   $array[$pos] = $newVal;
}

注意,如果$valToReplace不止一次在$array中被找到,则返回第一个匹配的键。关于array_search的更多信息

如果你想有一个内联的解决方案,你可以使用array_replace或array_replay_recursive,这取决于哪一个最适合你。

$replaced_arr = array_replace([
        'key' => 'old_value',
        0 => 'another_untouched_value'
    ],[
        'key' => 'new_value'
    ]);

最好是键/值对