Heim  >  Artikel  >  Backend-Entwicklung  >  Wie konvertiere ich einen durch Trennzeichen getrennten String in ein assoziatives Array ohne Schleifen?

Wie konvertiere ich einen durch Trennzeichen getrennten String in ein assoziatives Array ohne Schleifen?

DDD
DDDOriginal
2024-10-22 06:27:03989Durchsuche

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

Konvertieren eines durch Trennzeichen getrennten Strings in ein assoziatives Array ohne Schleifen

Die vorliegende Aufgabe besteht darin, einen String zu transformieren, der durch getrennte Schlüssel-Wert-Paare enthält Trennzeichen (z. B. „1-350,9-390,99“) in ein assoziatives Array. Während Schleifen dies erreichen können, ist es möglich, dies nur mit Array-Funktionen zu erreichen.

Ein Ansatz besteht darin, die Funktion array_chunk zu verwenden, um die Zeichenfolge in Blöcke aus zwei Elementen zu unterteilen: dem Schlüssel und dem Wert . Darauf folgt array_column, um die Schlüssel und Werte in separate Arrays zu extrahieren. Schließlich wird array_combine verwendet, um diese extrahierten Arrays zum gewünschten assoziativen Array zu kombinieren.

Hier ist eine PHP 5.5-Implementierung:

<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>

Dadurch wird das folgende assoziative Array erzeugt :

Array
(
    [1] => 350
    [9] => 390.99
)

Dieser Ansatz macht nicht nur die Notwendigkeit expliziter Schleifen überflüssig, sondern nutzt auch native PHP-Funktionen für verbesserte Leistung und Lesbarkeit des Codes.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich einen durch Trennzeichen getrennten String 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