Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann man Array-Schlüsseln in PHP effizient ein Präfix voranstellen?

Wie kann man Array-Schlüsseln in PHP effizient ein Präfix voranstellen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-27 06:40:03175Durchsuche

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

Effizientes Voranstellen eines Präfixes an Array-Schlüssel

Beim Bearbeiten von Arrays ist es häufig erforderlich, allen Schlüsseln ein Präfix hinzuzufügen. Dieser Vorgang kann auf verschiedene Arten durchgeführt werden, aber nicht alle Ansätze sind gleich effizient.

Schnellste Lösung

Die schnellste Lösung ist die Verwendung von array_combine() in Verbindung mit array_map ():

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

Diese Methode durchläuft die ursprünglichen Array-Schlüssel, hängt das Präfix an und erstellt mit array_combine() ein neues Array, um die Schlüssel und Werte entsprechend neu zuzuweisen.

Andere Lösungen

Andere Lösungen umfassen:

  • Verwendung einer foreach-Schleife, um jeden Schlüssel zu durchlaufen und das Präfix manuell anzuhängen, gefolgt vom Zurücksetzen des ursprünglichen Schlüssels:
<code class="php">foreach ($array as $k => $v)
{
    $array[$prefix . $k] = $v;
    unset($array[$k]);
}</code>
  • Verwendung einer benutzerdefinierten KeyPrefixer-Klasse mit einer __construct()-Methode und einer mapArray()-Methode zur effizienten Durchführung der Präfixoperation:
<code class="php">$prefix = "prefix";
$array = KeyPrefixer::prefix($array, $prefix);</code>

Historische Perspektive

Vor PHP 5.3 war ein anderer Ansatz notwendig:

<code class="php">$prefixer = new KeyPrefixer($prefix);
return $prefixer->mapArray($array);</code>

Diese Methode nutzte eine benutzerdefinierte Klasse und array_map() mit einer anonymen Funktion, um die Schlüssel und zu manipulieren Werte.

Das obige ist der detaillierte Inhalt vonWie kann man Array-Schlüsseln in PHP effizient ein Präfix voranstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn