Dieser Artikel stellt hauptsächlich die Konvertierung von Objekten in JSON-Strings vor, die einen gewissen Referenzwert haben. Jetzt kann ich ihn mit allen teilen, die ihn brauchen.
Definieren Sie eine Schülerklasse:
1 class Student { 2 public $name; 3 public $age; 4 function __construct($name, $age) { 5 $this->name = $name; 6 $this->age = $age; 7 } 8 }
Erstellen Sie zu diesem Zeitpunkt ein neues Objekt und geben Sie es direkt wieder: 1 $person1 = new Student('jack', 20); 2 echo $person1;
Das Ergebnis wird nicht gedruckt als Wir haben erwartet, dass anstelle des Verlassens des Objekts ein schwerwiegender Fehler gemeldet wird:
bedeutet, dass das von der Student-Klasse instanziierte Objekt nicht in eine Zeichenfolge konvertiert werden kann Nachricht: echo Es muss eine Zeichenfolge folgen,
, andernfalls wird es automatisch in eine Zeichenfolge umgewandelt. Wie konvertiert man also ein Objekt in eine Zeichenfolge?
Führen Sie zunächst eine magische Methode ein: __tostring(). Diese Methode wird verwendet, um zu bestimmen, wie eine Klasse reagieren soll, wenn sie als String behandelt wird. Beispielsweise sollte echo $obj;
was anzeigen. Diese Methode muss eine Zeichenfolge zurückgeben, andernfalls wird ein schwerwiegender Fehler der Ebene E_RECOVERABLE_ERROR
ausgegeben.
Fügen Sie diese magische Methode zur Student-Klasse hinzu:
1 class Student { 2 public $name; 3 public $age; 4 function __construct($name, $age) { 5 $this->name = $name; 6 $this->age = $age; 7 } 8 function __tostring() { 9 return json_encode($this, JSON_FORCE_OBJECT); 10 } 11 }
Die Methode json_encode(value, options) kann ein Objekt in JSON-Zeichen konvertieren. String, Diese Methode akzeptiert zwei Parameter:
Der erste Parameter: Wert
Der zu codierende Wert kann mit Ausnahme des Ressourcentyps ein beliebiger Datentyp sein
Diese Funktion kann nur UTF-8-codierte Daten akzeptieren
Zweiter Parameter: Optionen
Binärmaske bestehend aus den folgenden Konstanten: JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_UNESCAPED_UNI CODE.
Rückgabewert: Gibt eine Zeichenfolge zurück Wird im JSON-Format dargestellt, wenn die Kodierung erfolgreich ist, oder gibt bei einem Fehler FALSE zurück.
Hinweis: Im Vergleich zur json_encode-Methode gibt es die json_decode-Methode. Diese Methode kann eine JSON-Formatzeichenfolge in eine PHP-Variable konvertieren. Diese Methode akzeptiert zwei Parameter Der erste Parameter: JSON-String
Der zweite Parameter: wahr/falsch, wenn wahr, bedeutet dies, dass die Zeichenfolge in ein Array konvertiert wird, wenn er falsch ist, bedeutet dies Konvertierung ist ein Objekt, der Standardwert ist false
Rückgabewert: Objekt oder Array (wenn der zweite Parameter wahr ist)
Sie können es im Browser öffnen Stellen Sie zu diesem Zeitpunkt sicher, dass die Konvertierung erfolgreich ist:
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Lernen aller hilfreich ist. Bitte achten Sie auf die chinesische PHP-Website!
Verwandte Empfehlungen:So kompilieren und installieren Sie den PHP-Redis-Dienst
PHP-Quellcode-Datenbank und Tabellenerstellung – Konfigurationsdatei – Fehler log-Methode
Das obige ist der detaillierte Inhalt vonKonvertieren Sie das Objekt in eine JSON-Zeichenfolge. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!