ホームページ  >  記事  >  バックエンド開発  >  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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。