Heim  >  Artikel  >  Backend-Entwicklung  >  Verstehen Sie den Unterschied zwischen json_encode und json_decode in PHP

Verstehen Sie den Unterschied zwischen json_encode und json_decode in PHP

coldplay.xixi
coldplay.xixinach vorne
2020-07-18 17:01:332489Durchsuche

Verstehen Sie den Unterschied zwischen json_encode und json_decode in PHP

1. json_encode() JSON-kodiert Variablen

  • Syntax: json_encode($value[,$options=0])
  • Hinweis: 1. $value ist der zu kodierende Wert und diese Funktion ist nur für UTF8-kodierte Daten gültig;
    2. Optionen: Binäre Maske bestehend aus der folgenden Konstante: json_hex_quot, json_hex_tag, json_hex_amp, json_hex_apos, json_nuseric_check, json_pretty_print, Hes, json_force_object; ​ ​ 3. Der zweite Parameter wird im Allgemeinen nicht benötigt; 4. JSON-Daten sind eigentlich eine Zeichenfolge. Sie können sie mit var_dump() ausdrucken, um den Datentyp anzuzeigen ​ 5. JSON-Daten werden zurückgegeben, wenn die Ausführung erfolgreich ist, andernfalls wird FALSE zurückgegeben.


    Beispiel:
  • $book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');
    $json = json_encode($book);
    echo $json;
Das vom Browser gedruckte Ergebnis sieht wie folgt aus:

{"a":"xiyouji",b": „sanguo“, „c“: „shuihu“, „d“: „hongloumeng“🎜>

2. json_decode() dekodiert JSON-Daten und konvertiert sie in PHP-Variablen

Syntax: json_decode($json[,$assoc=false[,$ Depth=512[,$options=0]]])

Hinweis: 1, $json sind die zu dekodierenden Daten, bei denen es sich um utf8-kodierte Daten handeln muss; ​​2. Wenn der $assoc-Wert TRUE ist, wird ein Array zurückgegeben, und wenn er FALSE ist, wird ein Objekt
    zurückgegeben 3. $ Depth ist die Rekursionstiefe
  • ​​4. $option-Binärmaske, unterstützt derzeit nur JSON_BIGINT_AS_STRING; 5. Im Allgemeinen werden nur die ersten beiden Parameter verwendet. Wenn Sie Daten eines Datentyps wünschen, fügen Sie einen Parameter true hinzu.

  • Beispiel:
    $book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');
      $json = json_encode($book);
      
      $array = json_decode($json,TRUE);
      $obj = json_decode($json);
      var_dump($array);
      var_dump($obj);

    Die vom Browser gedruckten Ergebnisse lauten wie folgt:
array(4) { ["a"]=> string( 7) "xiyouji" ["b"]=> string(6) "sanguo" ["c"]=> string(6) "shuihu" ["d"]=> hongloumeng" }

object(stdClass)#2 (4) { ["a"]=> string(7) "xiyouji" ["b"]=> string(6) "sanguo" ["c" ]= > string(6) "shuihu" ["d"]=> string(11) "hongloumeng" }

Die beiden Ergebnisse sehen nicht viel anders aus, aber beim Aufrufen des Elemente im Inneren. Die Methoden von Array und Obj sind unterschiedlich.
$book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');
  $json = json_encode($book);
  
  $array = json_decode($json,TRUE);
  $obj = json_decode($json);
  var_dump($array['b']);//调用数组元素
  echo &#39;<br/>&#39;;
  var_dump($obj->c);//调用对象元素

Das Druckergebnis ist wie folgt:

string(6) "sanguo" string(6) "shuihu"

Damit ist die Kurzbeschreibung beendet Analyse dieses Artikels Damit ist der Artikel über den Unterschied zwischen json_encode und json_decode in PHP abgeschlossen. Weitere Informationen zu PHP json_encode und json_decode finden Sie in den vorherigen Artikeln von Script House. Ich hoffe, Sie werden Script House weiterhin unterstützen Zukunft!

Verwandte Lernempfehlungen:

PHP-Programmierung vom Einstieg bis zur Beherrschung

Das obige ist der detaillierte Inhalt vonVerstehen Sie den Unterschied zwischen json_encode und json_decode in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen