You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP如何仅翻转数组中指定的键值对?

仅翻转PHP数组中指定键值对的方法

针对你给出的数组场景,要单独翻转某一组键值对,不用array_flip()(它会翻转整个数组),可以通过以下步骤实现:

单键值对翻转实现

$array_1 = [          
         'Green' => 'Tea',
         'Apple' => 'Juice',
         'Black' => 'Coffee',
      ];

// 指定要翻转的目标键
$targetKey = 'Green';

// 安全处理:先确认键存在再操作,避免报错
if (isset($array_1[$targetKey])) {
    // 取出对应的值
    $value = $array_1[$targetKey];
    // 删除原数组中的该键值对
    unset($array_1[$targetKey]);
    // 将翻转后的键值对存入数组
    $array_1[$value] = $targetKey;
}

// 输出结果即为目标数组$array_2
print_r($array_1);

批量翻转多个键值对

如果需要一次性翻转多组键值对,只需把目标键放进数组循环处理即可:

$array_1 = [          
         'Green' => 'Tea',
         'Apple' => 'Juice',
         'Black' => 'Coffee',
      ];

// 指定多个要翻转的键
$targetKeys = ['Green', 'Apple'];

foreach ($targetKeys as $key) {
    if (isset($array_1[$key])) {
        $value = $array_1[$key];
        unset($array_1[$key]);
        $array_1[$value] = $key;
    }
}

print_r($array_1);

原理说明

核心逻辑是:先取出目标键对应的值,删除原数组中的旧键值对,再以原数值作为新键、原键作为新值重新写入数组。加入isset()判断是为了避免因目标键不存在导致的运行错误。

内容的提问来源于stack exchange,提问作者YsabelaDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 03:50:24