Heim  >  Artikel  >  Backend-Entwicklung  >  Konvertieren Sie einen JSON-String in ein PHP-Array

Konvertieren Sie einen JSON-String in ein PHP-Array

PHPz
PHPzOriginal
2023-04-23 09:17:15128Durchsuche

In PHP ist das Konvertieren einer JSON-formatierten Zeichenfolge in ein Array ein sehr einfacher Vorgang. Zu diesem Zweck können zwei in PHP integrierte Funktionen verwendet werden: json_decode() und json_decode_object().

1. Verwenden Sie die Funktion json_decode().

Die Funktion json_decode() ist eine gängige Methode zum Konvertieren von Zeichenfolgen im JSON-Format in PHP-Arrays.

Syntax:

<code>mixed json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0 ]]] )</code>

Unter ihnen:

  • $json: die JSON-Zeichenfolge, die analysiert werden muss;
  • $assoc: ob das zurückgegebene Objekt in ein assoziatives Array konvertiert werden soll Konvertiert in ein assoziatives Array.
  • $Tiefe: Legen Sie die Rekursionstiefe fest. Um einen Speicherüberlauf zu vermeiden, können Sie diesen Wert entsprechend der tatsächlichen Situation anpassen Optionen: Optionaler Parameter, Sie können Optionen für das Parsen von JSON angeben.
  • Beispiel:

Konvertieren Sie eine JSON-formatierte Zeichenfolge in ein Array:

<code><?php
$json_string = '{"name": "Tom", "age": 30, "sex": "male"}';
$decoded_json = json_decode($json_string);
print_r($decoded_json);
?></code>

Ausgabe:

<code>stdClass Object
(
   [name] => Tom
   [age] => 30
   [sex] => male
)</code>

Im obigen Code definieren wir zunächst eine JSON-formatierte Zeichenfolge und rufen dann die Funktion json_decode() auf, um das Zeichen Convert zu dekodieren Fügen Sie den String in ein PHP-Array $decoded_json ein und geben Sie das Ergebnis aus.

Wenn Sie das Rückgabeergebnis in ein assoziatives Array konvertieren möchten, müssen Sie den Parameter $assoc auf TRUE setzen:

<code><?php
$json_string = '{"name": "Tom", "age": 30, "sex": "male"}';
$decoded_json = json_decode($json_string, true);
print_r($decoded_json);
?></code>

Ausgabe:

<code>Array
(
   [name] => Tom
   [age] => 30
   [sex] => male
)</code>

Wie Sie der obigen Ausgabe entnehmen können, unterscheidet sich das Array $decoded_json von das letzte Ausgabeobjekt, nämlich Denn zu diesem Zeitpunkt wird $assoc auf TRUE gesetzt und in ein assoziatives Array konvertiert. Wenn $assoc nicht festgelegt ist, wird standardmäßig ein Objekt anstelle eines Arrays zurückgegeben.

2. Verwenden Sie die Funktion json_decode_object()

Zusätzlich zur Funktion json_decode() bietet PHP auch eine weitere Möglichkeit, JSON-Formatzeichenfolgen in PHP-Arrays zu konvertieren, nämlich die Funktion json_decode_object().

Syntax:

<code>object json_decode_object ( string $json_string [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )</code>

Unter ihnen:

$json_string: der JSON-String, der analysiert werden muss;
  • $assoc: ob das zurückgegebene Objekt in ein assoziatives Array konvertiert werden soll Konvertiert in ein assoziatives Array.
  • $Tiefe: Legen Sie die Rekursionstiefe fest. Um einen Speicherüberlauf zu vermeiden, können Sie diesen Wert entsprechend der tatsächlichen Situation anpassen Optionen: Optionaler Parameter, Sie können Optionen für das Parsen von JSON angeben.
  • Beispiel:
  • Konvertieren Sie eine JSON-formatierte Zeichenfolge in ein Array:
<code><?php
$json_string = '{"name": "Tom", "age": 30, "sex": "male"}';
$decoded_json = json_decode_object($json_string);
print_r($decoded_json);
?></code>

Ausgabe:

<code>stdClass Object
(
   [name] => Tom
   [age] => 30
   [sex] => male
)</code>

Im obigen Code verwenden wir die Funktion json_decode_object(), um die JSON-Zeichenfolge in das PHP-Array $decoded_json zu konvertieren. Da wir den Parameter $assoc nicht festgelegt haben, wird standardmäßig ein Objekt anstelle eines Arrays zurückgegeben.

Zusammenfassung

In PHP können wir die Funktionen json_decode() und json_decode_object() verwenden, um Zeichenfolgen im JSON-Format in PHP-Arrays zu konvertieren. Beide Funktionen haben ihre Vorteile, und für welche Sie sich entscheiden, hängt von Ihren spezifischen Bedürfnissen ab. Wenn das Ergebnis ein Objekt sein soll, verwenden Sie json_decode_object(). Wenn das Ergebnis ein Array sein soll, verwenden Sie json_decode(). Während der Verwendung müssen Sie auch die Werte der Parameter $ Depth und $ Options entsprechend der tatsächlichen Situation anpassen, um einen Speicherüberlauf zu vermeiden.

Das obige ist der detaillierte Inhalt vonKonvertieren Sie einen JSON-String in ein PHP-Array. 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