Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich in PHP eine Zeichenfolge aus Schlüssel-Wert-Paaren in ein assoziatives Array konvertieren?

Wie kann ich in PHP eine Zeichenfolge aus Schlüssel-Wert-Paaren in ein assoziatives Array konvertieren?

Patricia Arquette
Freigeben: 2024-12-17 09:53:24
Original
559 Leute haben es durchsucht

How Can I Convert a String of Key-Value Pairs into an Associative Array in PHP?

Konvertieren einer Zeichenfolge von Schlüssel-Wert-Paaren in ein assoziatives Array

Problem:
Sie haben ein Zeichenfolge formatiert wie „key1value1key2value2key3value3“, und Sie möchten sie in ein assoziatives Array konvertieren, Dabei wird „key1“ auf „value1“, „key2“ auf „value2“ usw. abgebildet.

Lösung mit regulären Ausdrücken:

Die schnellste und einfachste Eine einfache Lösung beinhaltet die Verwendung eines regulären Ausdrucks und array_combine:

preg_match_all("/([^\\]+)\\([^\\]+)/", $string, $p);
$array = array_combine($p[1], $p[2]);
Nach dem Login kopieren

Dieser reguläre Ausdruck identifiziert benachbarte Schlüssel-Wert-Paare, getrennt durch Backslashes. Die erfassten Gruppen werden dann mit array_combine zu einem Array zusammengeführt.

Anpassung an verschiedene Trennzeichen:

Dieser Ansatz kann leicht angepasst werden, um verschiedene Schlüsselwert- und Paartrennzeichen zu verarbeiten . Zum Beispiel:

# Key/value separated by colons, pair by commas
preg_match_all("/([^:]+):([^,]+)/", $string, $p);
$array = array_combine($p[1], $p[2]);
Nach dem Login kopieren

Variierende Trennzeichen zulassen:

Um unterschiedliche Trennzeichen innerhalb einer einzelnen Zeichenfolge zuzulassen, kann ein flexiblerer regulärer Ausdruck verwendet werden:

preg_match_all("/([^:=]+)[:=]+([^,+&]+)/x", $string, $p);
Nach dem Login kopieren

Andere Ansätze:

parse_str() mit String-Ersetzung:

Wenn die Eingabezeichenfolge bereits dem Format key=value&key2=value2 folgt, können Sie parse_str:

parse_str(strtr($string, ":,", "=&"), $pairs);
Nach dem Login kopieren

Manueller Schlüssel/Wert Trennung:

Während es oft länger ist, können Sie ein Array auch manuell mit „explosive“ und „foreach“ erstellen:

Das obige ist der detaillierte Inhalt vonWie kann ich in PHP eine Zeichenfolge aus Schlüssel-Wert-Paaren in ein assoziatives Array konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage