Heim >Backend-Entwicklung >PHP-Problem >So konvertieren Sie eine geschweifte Zeichenfolge in ein Array in PHP
In der PHP-Entwicklung müssen wir häufig die Konvertierung von Strings und Arrays in der Codelogik durchführen. Einer der häufigsten Fälle ist die Konvertierung einer geschweiften Zeichenfolge in ein PHP-Array. Diese Transformation ermöglicht es uns, die Daten einfacher zu manipulieren. In diesem Artikel besprechen wir, wie man in PHP eine geschweifte Zeichenfolge in ein Array umwandelt.
Eine Zeichenfolge mit Klammern ist eine in geschweifte Klammern ({}) eingeschlossene Zeichenfolge, in der jedes Schlüssel-Wert-Paar durch einen Doppelpunkt (:) getrennt ist und mehrere Schlüssel-Wert-Paare durch Kommas getrennt sind (,). Hier ist beispielsweise ein Beispiel für eine Zeichenfolge in Klammern:
$str = "{ 'name': 'John', 'age': 25, 'city': 'New York' }";
Das Format einer Zeichenfolge in Klammern ist dem JSON-Format sehr ähnlich. Es gibt jedoch einen wesentlichen Unterschied zwischen ihnen: In geschweiften Zeichenfolgen müssen Schlüsselnamen und Zeichenfolgenwerte in einfache Anführungszeichen (') eingeschlossen werden, während sie in JSON einfache oder doppelte Anführungszeichen ("") verwenden können.
In PHP können wir die Funktion eval() verwenden, um eine Zeichenfolge in Klammern in ein Array umzuwandeln. Die Funktion eval() führt die als PHP-Code übergebene Zeichenfolge aus. Wir können dies also tun, indem wir die Anführungszeichen in der Zeichenfolge in Klammern maskieren, sie in eine Zeichenfolgenvariable einfügen und diese Variable an die Funktion eval() übergeben, um eine Konvertierung zu erreichen. Die konkreten Schritte sind wie folgt:
Verwenden Sie die Funktion eval() nur bei Bedarf, versuchen Sie, andere Konvertierungsmethoden zu verwenden.
Verwenden Sie keine ungefilterten Benutzereingaben als Parameter der Bewertung ()-Funktion
$str = "{ 'name': 'John', 'age': 25, 'city': 'New York' }"; // 将单引号转义为双引号 $json = str_replace("'", "\"", $str); // 将字符串放到一个字符串变量中 $code = '$arr = ' . $json . ';'; // 使用eval()函数执行代码,得到数组 eval($code); print_r($arr);
Array ( [name] => John [age] => 25 [city] => New York )
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie eine geschweifte Zeichenfolge in ein Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!