首页  >  文章  >  后端开发  >  如何在 PHP 中有效地为数组键添加前缀?

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

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-27 06:40:03175浏览

 How to Efficiently Prepend a Prefix to Array Keys in PHP?

高效地为数组键添加前缀

操作数组时,通常需要为所有键添加前缀。此操作可以通过多种方式执行,但并非所有方法都同样有效。

最快的解决方案

最快的解决方案是将 array_combine() 与 array_map 结合使用():

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

此方法迭代原始数组键,附加前缀,并使用 array_combine() 创建一个新数组,以相应地重新分配键和值。

其他解决方案

其他解决方案包括:

  • 使用 foreach 循环迭代每个键并手动附加前缀,然后取消设置原始键:
<code class="php">foreach ($array as $k => $v)
{
    $array[$prefix . $k] = $v;
    unset($array[$k]);
}</code>
  • 使用带有 __construct() 方法和 mapArray() 方法的自定义 KeyPrefixer 类来高效执行前缀操作:
<code class="php">$prefix = "prefix";
$array = KeyPrefixer::prefix($array, $prefix);</code>

历史视角

在 PHP 5.3 之前,需要一种不同的方法:

<code class="php">$prefixer = new KeyPrefixer($prefix);
return $prefixer->mapArray($array);</code>

此方法利用自定义类和带有匿名函数的 array_map() 来操作键和价值观。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn