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

如何通过循环拼接多维数组的键名、原值与修改值为字符串?

实现多维数组到指定格式字符串的转换

这事儿其实挺简单的,核心思路就是遍历数组收集每个字段的格式化片段,最后把所有片段拼接起来。咱们直接上代码,边看边解释:

首先,先把你的原数组写出来:

$arr = [
    'first_name' => [
        'original' => 'Rahul',
        'changes' => 'Manan'
    ],
    'last_name' => [
        'original' => 'Shah',
        'changes' => 'Patel'
    ],
    'email_address' => [
        'original' => 'rahul@yahoo.com',
        'changes' => 'manan@gmail.com'
    ]
];

接下来是关键的处理步骤:

  1. 先创建一个空数组,用来存储每个字段拼接好的小字符串片段
  2. 用foreach循环遍历原数组的每一项
  3. 对每一项,按照主键名 原值 => 修改值的格式拼接成字符串,塞进临时数组
  4. 最后用implode()函数把临时数组里的所有片段用, 连接起来,就是你要的结果了

完整代码如下:

// 初始化临时数组存储片段
$tempSegments = [];

// 遍历原数组
foreach ($arr as $key => $values) {
    // 拼接单个字段的格式字符串
    $segment = "$key {$values['original']} => {$values['changes']}";
    // 把片段加入临时数组
    $tempSegments[] = $segment;
}

// 拼接所有片段成最终字符串
$str = implode(', ', $tempSegments);

// 输出看看结果
echo $str;

运行这段代码后,你会得到完全符合要求的字符串:
first_name Rahul => Manan, last_name Shah => Patel, email_address rahul@yahoo.com => manan@gmail.com

额外小提示

如果你的数组可能存在某个字段缺少original或者changes的情况,可以加个简单的判断避免报错,比如:

foreach ($arr as $key => $values) {
    $original = $values['original'] ?? '无原值';
    $changes = $values['changes'] ?? '无修改值';
    $segment = "$key $original => $changes";
    $tempSegments[] = $segment;
}

这样就算数组有不完整的项,代码也能正常运行啦~

内容的提问来源于stack exchange,提问作者Mr.Happy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:28:41