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

Posted

技术标签:

【中文标题】如何在 php 的数组中替换特定键的值?【英文标题】:How can I replace a specific key's value in an array in php? 【发布时间】:2012-01-02 04:42:44 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

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

$array[$key] = $newVal;

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

$pos = array_search($valToReplace, $array);
if ($pos !== FALSE)

   $array[$pos] = $newVal;

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

【讨论】:

【参考方案2】:

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

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

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

【讨论】:

以上是关于如何在 php 的数组中替换特定键的值?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 for 循环的情况下从 appsettings 文件中读取对象数组中特定键的值

如何从自定义模型对象数组中获取特定键的值

如何替换 BigQuery 中 JSON 中特定键的数据?

如何将文本附加到特定的php数组值

按特定键的内部数组的值对PHP二维数组进行排序[重复]

如何按给定键的值对关联数组进行排序并在php中维护键? [复制]