配列の効率的なキー接頭辞
フラット配列内のすべてのキーの先頭に文字列を追加するには、次の方法を検討してください。
一行解決策:
<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 サイトの他の関連記事を参照してください。