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

如何简便地为关联数组的每个值前缀添加指定字符串?

嘿,这个需求实现起来挺简单的,给你分享几个常用的简便方法,都是PHP里很实用的数组处理方式:

方法一:用array_map快速生成新数组

这是最简洁的写法之一,array_map会帮你遍历数组的每个元素,把处理后的结果返回成新数组:

// 注意:原数组里重复的'site'键在PHP中会被覆盖,实际只能保留最后一个,建议给每个键设置唯一名称哦
$originalArray = [
    'site1' => 'some-slug-of-page',
    'site2' => 'some-slug-new-page',
    'site3' => 'my-page'
];

$prefix = 'blog/';
$modifiedArray = array_map(function($val) use ($prefix) {
    return $prefix . $val;
}, $originalArray);

print_r($modifiedArray);
方法二:用foreach直接修改原数组

如果你想直接修改原数组而不创建新数组,用foreach加引用的方式特别直观:

$originalArray = [
    'site1' => 'some-slug-of-page',
    'site2' => 'some-slug-new-page',
    'site3' => 'my-page'
];

$prefix = 'blog/';
// 用&$val引用数组元素,直接修改原数组的值
foreach ($originalArray as $key => &$val) {
    $val = $prefix . $val;
}
unset($val); // 解除引用,防止后续操作意外修改这个变量

print_r($originalArray);
方法三:用array_walk处理数组

array_walk是专门用来遍历处理数组元素的函数,用法和foreach类似,也是直接修改原数组:

$originalArray = [
    'site1' => 'some-slug-of-page',
    'site2' => 'some-slug-new-page',
    'site3' => 'my-page'
];

$prefix = 'blog/';
array_walk($originalArray, function(&$val) use ($prefix) {
    $val = $prefix . $val;
});

print_r($originalArray);

小提醒:PHP的关联数组不允许存在重复的键名,你原问题里写的三个'site'键,实际运行时只会保留最后一个条目,所以如果需要多个不同的条目,记得给每个键设置唯一的名称哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:49:05