In PHP können wir einige Funktionen oder Methoden verwenden, um ein Array im String-Format einfach in eine echte Array-Variable umzuwandeln. In diesem Artikel stellen wir einige häufig verwendete Methoden und Funktionen vor.
Zum Beispiel:
$str = "[1,2,3]"; $array = eval("return $str;"); print_r($array);
Im obigen Beispiel weisen wir der String-Variablen $str ein Array „[1,2,3]“ mit 3 Elementen zu und verwenden dann eval(), um die String-Variable als ausführbare Datei festzulegen Code ausführen und schließlich ein echtes Array $array erhalten, können Sie die Funktion print_r() verwenden, um das Ergebnis zu drucken. Das Ergebnis sieht wie folgt aus:
Array ( [0] => 1 [1] => 2 [2] => 3 )
Obwohl die Funktion eval() problemlos einen Array-String in ein Array konvertieren kann , es bringt auch gewisse Sicherheitsrisiken mit sich, da es beliebigen Code, einschließlich Schadcode, ausführen kann, daher wird die Verwendung von eval() nicht empfohlen.
Zum Beispiel:
$str = "[1,2,3]"; $array = json_decode($str); print_r($array);
Im obigen Beispiel verwenden wir die Funktion json_decode(), um die String-Variable $str in die Array-Variable $array umzuwandeln und erhalten schließlich ein echtes Array, das mit print_r( gedruckt werden kann )-Funktion. Das Ergebnis lautet wie folgt: Die Funktion
Array ( [0] => 1 [1] => 2 [2] => 3 )
json_decode() hat auch einen optionalen Parameter $assoc. Wenn der Parameter $assoc auf true gesetzt ist, ist das zurückgegebene Array ein assoziatives Array und kein numerisches Indexarray. Zum Beispiel:
$str = '{"name":"Tom","age":18}'; $array = json_decode($str,true); print_r($array);
Im obigen Beispiel konvertieren wir einen JSON-String „$str“, der zwei Schlüssel-Wert-Paare „name“ und „age“ enthält, in ein assoziatives Array „$array“. Das Ergebnis ist wie folgt:
Array ( [name] => Tom [age] => 18 )
Wenn Sie also ein Array im String-Format in ein assoziatives Array konvertieren müssen, können Sie den Parameter $assoc auf true setzen.
Zum Beispiel:
$str = "1,2,3"; $array = explode(",", $str); print_r($array);
Im obigen Beispiel konvertieren wir eine durch Kommas getrennte Zeichenfolge „1,2,3“ in ein Array, teilen sie mit der Funktion „explosiv()“ mit Komma als Trennzeichen auf und erhalten schließlich Für ein echtes Array können Sie die Funktion print_r() verwenden, um das Ergebnis wie folgt auszudrucken:
Array ( [0] => 1 [1] => 2 [2] => 3 )
Es ist zu beachten, dass die Verwendung der Funktion „explosive()“ nur anwendbar ist, wenn das Trennzeichen ein fester Wert ist Das Trennzeichen ist nicht festgelegt oder es ist eine mehrdimensionale Analyse erforderlich. Bei Arrays müssen andere Methoden verwendet werden.
Zusammenfassend können die oben genannten drei Methoden verwendet werden, um ein Array im String-Format in eine echte Array-Variable umzuwandeln. Bei der tatsächlichen Verwendung müssen wir je nach Situation die geeignete Methode auswählen. Wenn das Format der Array-Zeichenfolge relativ standardisiert ist und keinen Sicherheitsangriffen ausgesetzt ist, ist es am besten, die Funktion json_decode() zu verwenden, wenn das Format der Array-Zeichenfolge relativ frei ist oder wenn mehrdimensionale Arrays analysiert werden müssen , andere Methoden können verwendet werden.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie einen Array-String in ein Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!