Préfixer efficacement les clés d'un tableau
Pour ajouter une chaîne au début de toutes les clés d'un tableau, plusieurs approches sont disponibles.
Solution monoligne
La solution la plus concise implique une combinaison de array_map et array_combine :
<code class="php">$prefix = "prefix"; $array = array_combine( array_map( fn($k) => $prefix . $k, array_keys($array) ), $array );</code>
Approche fonctionnelle
Pour les versions de PHP 7.4 et supérieures, une syntaxe de fonction flèche peut être utilisée :
<code class="php">$prefix = "prefix"; $array = array_combine( array_map( fn($k) => $prefix . $k, array_keys($array) ), $array );</code>
Approche itérative
Une solution traditionnelle basée sur une boucle est également disponible :
<code class="php">foreach ($array as $k => $v) { $array[$prefix . $k] = $v; unset($array[$k]); }</code>
Classe personnalisée pré-PHP 5.3
Pour les anciennes versions de PHP, une classe personnalisée avec une méthode mapArray peut être utilisée :
<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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!