Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie einen Array-String in ein Array in PHP

So konvertieren Sie einen Array-String in ein Array in PHP

PHPz
PHPzOriginal
2023-04-27 09:08:22848Durchsuche

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.

  1. Verwenden Sie die Funktion eval
    Verwenden Sie die in PHP integrierte Funktion eval(), um die Zeichenfolge als ausführbaren Code auszuführen, sodass Sie die Funktion eval verwenden können, um ein Array im String-Format in ein echtes Array umzuwandeln.

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.

  1. Funktion json_decode verwenden
    In PHP können wir auch die Funktion json_decode() verwenden, um ein Array im String-Format in eine echte Array-Variable umzuwandeln.

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.

  1. Verwenden Sie die Explosionsfunktion
    Verwenden Sie die in PHP integrierte Funktion explosion(), um eine durch ein bestimmtes Trennzeichen getrennte Zeichenfolge in ein Array aufzuteilen.

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!

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