首页 > 后端开发 > php教程 > 如何在 PHP 中高效地为数组键添加前缀?

如何在 PHP 中高效地为数组键添加前缀?

Mary-Kate Olsen
发布: 2024-10-26 15:33:30
原创
241 人浏览过

How to Efficiently Prefix Array Keys in PHP?

有效地为数组键添加前缀

要将字符串添加到数组中所有键的开头,有多种方法可用。

单行解决方案

最简洁的解决方案涉及 array_map 和 array_combine 的组合:

<code class="php">$prefix = "prefix";
$array = array_combine(
    array_map(
        fn($k) => $prefix . $k,
        array_keys($array)
    ),
    $array
);</code>
登录后复制

函数式方法

对于 PHP 7.4 及以上版本,可以使用箭头函数语法:

<code class="php">$prefix = "prefix";
$array = array_combine(
    array_map(
        fn($k) => $prefix . $k, 
        array_keys($array)
    ),
    $array
);</code>
登录后复制

迭代方法

传统的基于循环的解决方案还可以使用:

<code class="php">foreach ($array as $k => $v) {
    $array[$prefix . $k] = $v;
    unset($array[$k]);
}</code>
登录后复制

PHP 5.3 之前的自定义类

对于较旧的 PHP 版本,可以使用带有 mapArray 方法的自定义类:

<code class="php">class KeyPrefixer {
    public function prefix(array $array, $prefix) {
        return $this->mapArray($array);
    }

    public function mapArray(array $array) {
        return array_combine(
            array_map(array($this, 'mapKey', array_keys($array)),
            $array
        );
    }

    public function mapKey($key) {
        return $this->prefix . (string)$key;
    }
}

$prefix = "prefix";
$array = KeyPrefixer::prefix($array, $prefix);</code>
登录后复制

以上是如何在 PHP 中高效地为数组键添加前缀?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板