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
Patricia ArquetteOriginal
2024-12-17 09:53:24623Durchsuche

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]);

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]);

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

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

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!

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