Heim  >  Artikel  >  Backend-Entwicklung  >  Wie konvertiert man einen durch Trennzeichen getrennten String effizient in ein assoziatives Array ohne Schleifen?

Wie konvertiert man einen durch Trennzeichen getrennten String effizient in ein assoziatives Array ohne Schleifen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-22 06:23:31830Durchsuche

How to Efficiently Convert a Delimited String into an Associative Array without Loops?

Effizientes Explodieren eines Strings in ein assoziatives Array

Das Konvertieren eines Strings in ein assoziatives Array ist eine häufige Aufgabe in der Programmierung. Allerdings kann es schwierig sein, dies ohne die Verwendung von Schleifen zu erreichen. Lassen Sie uns eine Lösung für das Problem untersuchen, eine Zeichenfolge wie „1-350,9-390.99“ in ein assoziatives Array aufzulösen:

PHP 5.5 und höher bietet eine clevere Möglichkeit, dies mithilfe der Kombination von array_chunk und array_column zu erreichen . So funktioniert es:

<code class="php">$input  = '1-350,9-390.99';

$chunks = array_chunk(preg_split('/[-,]/', $input), 2);
$result = array_combine(array_column($chunks, 0), array_column($chunks, 1));

print_r($result);</code>

Dieser Code teilt zunächst die Eingabezeichenfolge mithilfe der preg_split-Funktion in Abschnitte auf und trennt die Zeichenfolge durch Bindestriche (-) und Kommas (,). Anschließend extrahiert es mit array_column die erste und zweite Spalte der Blöcke, die den Schlüsseln bzw. Werten des assoziativen Arrays entsprechen. Schließlich wird array_combine verwendet, um das assoziative Array zu erstellen.

Das Ergebnis ist ein assoziatives Array, bei dem die Schlüssel die ersten Werte der Blöcke sind (z. B. „1“ und „9“) und die Werte die Zweite Werte der Chunks (z. B. „350“ und „390,99“). Dieser Ansatz macht Schleifen überflüssig und stellt eine effiziente und übersichtliche Lösung zum Konvertieren einer durch Trennzeichen getrennten Zeichenfolge in ein assoziatives Array dar.

Das obige ist der detaillierte Inhalt vonWie konvertiert man einen durch Trennzeichen getrennten String effizient in ein assoziatives Array ohne Schleifen?. 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
Vorheriger Artikel:PHP-Entwurfsmuster: FassadeNächster Artikel:PHP-Entwurfsmuster: Fassade