Konvertieren Objekt in String in PHP

Subodh Poudel 29 November 2021
  1. Verwenden Sie die magische Methode __toString(), um ein Objekt in einen String in PHP umzuwandeln
  2. Verwenden Sie die Funktion serialize(), um ein Objekt in einen String in PHP umzuwandeln
  3. Verwenden Sie die Funktion print_r(), um ein Objekt in einen String in PHP umzuwandeln
Konvertieren Objekt in String in PHP

Dieses Tutorial stellt verschiedene Methoden vor, um ein Objekt in einen String in PHP umzuwandeln.

Verwenden Sie die magische Methode __toString(), um ein Objekt in einen String in PHP umzuwandeln

Wir können die magische PHP-Methode __toString() verwenden, um ein Objekt in einen String in PHP umzuwandeln. Es gibt einige Methoden in PHP, die mit __ beginnen, und PHP reserviert sie. Wenn wir bestimmte Aktionen für Objekte ausführen, überschreiben diese Methoden das Standardverhalten. Einige der magischen Funktionen sind __construct(), __destruct(), __isset(), __set(), __get() usw. Wir können die Methode __toString() verwenden, um zu emulieren ein Objekt zu einer Zeichenkette. Dann können wir das Verhalten des Objekts untersuchen, das sich wie eine Schnur verhält. Vor PHP 8.0 sollte die Methode __toString() immer einen String-Wert zurückgeben; andernfalls wird ein Fehler ausgegeben. PHP 8.0 zwingt den Wert jedoch nach Möglichkeit in einen String.

Erstellen Sie zum Beispiel eine Klasse Student und schreiben Sie als Eigenschaft eine Variable $name und geben Sie ihr einen Namen. Schreiben Sie dann die Funktion __toString() und geben Sie die Variable $name mit dem Schlüsselwort $this zurück. Erstellen Sie ausserhalb der Klasse ein Objekt der Klasse Student namens $st. Verwenden Sie nun die Funktion echo, um das Objekt $st auszudrucken.

Im Ausgabeabschnitt können wir sehen, dass der Name angezeigt wird. Somit beweist es, dass das Objekt in einen String umgewandelt wurde. Die Funktion echo ist eine String-Funktion, und wir haben den String damit ausgegeben. So können wir mit der magischen Methode __toString() ein Objekt in einen String umwandeln.

Beispielcode:

<?php
class Student {
 protected $name = 'Jadon';
 public function __toString() {
 return $this->name;
 }
}
$st = new Student;
echo $st;
?>

Ausgabe:

Jadon

Verwenden Sie die Funktion serialize(), um ein Objekt in einen String in PHP umzuwandeln

Die Funktion serialize() in PHP wandelt den angegebenen Wert in eine Darstellung eines Byte-Stream-Strings um. Wir können die Funktion verwenden, wenn wir die Daten in einer Sitzung oder Datenbank speichern möchten. Die Objekte können mit der Funktion serialize() in einen String umgewandelt werden. Die Funktion gibt eine Bitfolge zurück. Wenn wir Bits über ein Netzwerk übertragen müssen, kommt die Funktion zum Einsatz.

Erstellen Sie beispielsweise dieselbe Klasse und Membervariable wie in der ersten Methode. Erstellen Sie dann eine Funktion show(). Verwenden der Funktion echo innerhalb der Funktion, um die Variable $name mit dem Schlüsselwort $this zu drucken. Erstellen Sie ausserhalb der Funktion ein Objekt $st der Klasse Student. Rufen Sie die Funktion show() mit dem Objekt $st auf. Verwenden Sie dann die Funktion serialize() auf das Objekt $st und drucken Sie es mit der Funktion echo aus.

Das folgende Beispiel gibt einen String in einer Folge von Bits aus. So können wir mit der Funktion serialize() ein PHP-Objekt in einen String umwandeln.

Beispielcode:

<?php
class Student {
 protected $name = 'Jadon';
 public function show() {
 echo $this->name."<br>";
 }
}
$st = new Student;
$st->show();
$sr = serialize($st);
echo $sr;
?>

Ausgabe:

Jadon
O:7:"Student":1:{s:7:"*name";s:5:"Jadon";}

Verwenden Sie die Funktion print_r(), um ein Objekt in einen String in PHP umzuwandeln

Wir können auch die Funktion print_r() verwenden, um in PHP ein Objekt in einen String umzuwandeln. Die Funktion nimmt den ersten Parameter als zu druckenden Wert und den zweiten Parameter als Rückgabeparameter, einen booleschen Wert. Wir können ein Objekt als ersten Parameter und einen true booleschen Wert als zweiten Parameter angeben, um einen String zurückzugeben. Der Rückgabeparameter ist optional. Die Funktion print_r() gibt den Wert der übergebenen Variablen aus, wenn der zweite Parameter nicht übergeben wird.

Erstellen Sie beispielsweise eine Klasse Student mit zwei Mitgliedsvariablen, $name und $age. Erstellen Sie einen Konstruktor mit $name und $age als Parameter und setzen Sie die Variablen. Erstellen Sie ausserhalb der Klasse ein Objekt $st und übergeben Sie dem Konstruktor die Werte jadon und 21 als Argumente. Dann erstellen Sie eine weitere Variable $result und weisen ihr die Funktion print_r() zu. Setzen Sie den ersten Parameter der Funktion als $st und true als zweiten Parameter. Verwenden Sie zum Schluss die Funktion echo, um das $result auszudrucken.

Wenn wir den Rückgabeparameter der Funktion print_r() auf true setzen, dann gibt die Funktion den String zurück und speichert ihn in der Variablen $result. So könnten wir den String mit der Funktion echo ausgeben. Auf diese Weise können wir mit der Funktion print_r() das Objekt in PHP in einen String umwandeln.

Beispielcode:

class Student {
 protected $name;
 protected $age;
 public function __construct($name, $age) {
 $this->name =$name;
 $this->age = $age;
 }
}
$st = new Student("jadon", 21);
$result = print_r($st, true);
echo $result;
?>

Ausgabe:

Student Object ( [name:protected] => jadon [age:protected] => 21 )
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

Verwandter Artikel - PHP Object

Verwandter Artikel - PHP String