ホームページ  >  記事  >  バックエンド開発  >  PHP で配列キーの先頭に文字列を効率的に追加するにはどうすればよいですか?

PHP で配列キーの先頭に文字列を効率的に追加するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-26 20:47:02674ブラウズ

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

配列の効率的なキー接頭辞

フラット配列内のすべてのキーの先頭に文字列を追加するには、次の方法を検討してください。

一行解決策:

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

反復アプローチ:

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

歴史的アプローチ (PHP 5.3 以前) ):

<code class="php">class KeyPrefixer {
    private $prefix;
    public function __construct($prefix) {
        $this->prefix = (string)$prefix;       
    }
    public static function prefix(array $array, $prefix) {
        $prefixer = new KeyPrefixer($prefix);
        return $prefixer->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;
    }
}</code>

以上がPHP で配列キーの先頭に文字列を効率的に追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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