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

时间:2011-11-20 02:29:07

标签: php arrays replace

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

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

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

2 个答案:

答案 0 :(得分:14)

如果你知道密钥,你可以这样做:

$array[$key] = $newVal;

如果不这样做,你可以这样做:

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

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

答案 1 :(得分:0)

如果您想要内联解决方案,您可以使用 array_replacearray_replay_recrusive,具体取决于哪个最适合您。

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

如果你的数组是键/值对最好