Array-Schlüssel effizient voranstellen
Um eine Zeichenfolge an den Anfang aller Schlüssel in einem Array voranzustellen, stehen mehrere Ansätze zur Verfügung.
Einzeilige Lösung
Die prägnanteste Lösung beinhaltet eine Kombination aus array_map und array_combine:
<code class="php">$prefix = "prefix"; $array = array_combine( array_map( fn($k) => $prefix . $k, array_keys($array) ), $array );</code>
Funktionaler Ansatz
Für Versionen von PHP 7.4 und höher kann eine Pfeilfunktionssyntax verwendet werden:
<code class="php">$prefix = "prefix"; $array = array_combine( array_map( fn($k) => $prefix . $k, array_keys($array) ), $array );</code>
Iterativer Ansatz
Eine traditionelle schleifenbasierte Lösung ist auch verfügbar:
<code class="php">foreach ($array as $k => $v) { $array[$prefix . $k] = $v; unset($array[$k]); }</code>
Benutzerdefinierte Klasse vor PHP 5.3
Für ältere PHP-Versionen kann eine benutzerdefinierte Klasse mit einer MapArray-Methode verwendet werden:
<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>
Das obige ist der detaillierte Inhalt vonWie kann man Array-Schlüssel in PHP effizient voranstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!