ホームページ  >  記事  >  バックエンド開発  >  PHP で配列キーに効率的にプレフィックスを付けるにはどうすればよいですか?

PHP で配列キーに効率的にプレフィックスを付けるにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-26 15:33:30151ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

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