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