Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich eine durch Kommas getrennte Schlüssel=Wert-Zeichenfolge effizient in ein assoziatives Array konvertieren?

Wie kann ich eine durch Kommas getrennte Schlüssel=Wert-Zeichenfolge effizient in ein assoziatives Array konvertieren?

Susan Sarandon
Freigeben: 2024-12-04 00:30:11
Original
183 Leute haben es durchsucht

How Can I Efficiently Convert a Comma-Separated Key=Value String into an Associative Array?

Konvertieren einer durch Kommas getrennten Zeichenfolge von Schlüssel=Wert-Ausdrücken in ein assoziatives Array

Parsen einer durch Kommas getrennten Zeichenfolge von Schlüssel-Wert-Paaren in Ein assoziatives Array kann eine mühsame Aufgabe sein. Während die vorgeschlagene Methode zur Verwendung von explosion() und foreach unkompliziert sein mag, kann sie für größere Zeichenfolgen ineffizient sein.

Ein effizienterer Ansatz mit regulären Ausdrücken

Ein weiterer Eine elegante und effiziente Lösung besteht darin, reguläre Ausdrücke zu nutzen:

$str = "key=value, key2=value2";
preg_match_all("/([^,= ]+)=([^,= ]+)/", $str, $r); 
$result = array_combine($r[1], $r[2]);
var_dump($result);
Nach dem Login kopieren

Dieser Ansatz verwendet die Funktion preg_match_all(), um alle Übereinstimmungen zu extrahieren Schlüssel-Wert-Paare mit dem Regex-Muster ([^,= ] )=([^,= ] ). Die resultierenden Übereinstimmungen werden im Array $r gespeichert, wobei die Schlüssel in $r[1] und die Werte in $r[2] gespeichert sind. Schließlich kombiniert die Funktion array_combine() die Schlüssel und Werte, um das gewünschte assoziative Array zu erstellen.

Die in der Frage bereitgestellte Beispielzeichenfolge würde zu dem folgenden assoziativen Array führen:

array(
  "key" => "value",
  "key2" => "value2"
)
Nach dem Login kopieren

Dies Die Methode bietet eine prägnante und leistungsstarke Lösung zum Parsen von durch Kommas getrennten Schlüsselwertzeichenfolgen.

Das obige ist der detaillierte Inhalt vonWie kann ich eine durch Kommas getrennte Schlüssel=Wert-Zeichenfolge effizient 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