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

So konvertieren Sie ein Objekt in ein Array-Objekt in PHP

PHPz
PHPzOriginal
2023-04-19 09:20:28706Durchsuche

In PHP müssen wir häufig zwischen Objekten und Arrays konvertieren. In einigen Fällen müssen wir möglicherweise ein Objekt in ein Array-Objekt konvertieren, damit wir die Eigenschaften und Methoden dieses Objekts bequemer bedienen können. In diesem Artikel erklären wir, wie man mithilfe einiger in PHP integrierter Funktionen ein Objekt in ein Array-Objekt umwandelt.

1. Verwenden Sie Typecast, um Objekte zu konvertieren

Typecast (Typkonvertierung) in PHP ist eine Methode zum Konvertieren eines Datentyps in einen anderen Datentyp. Daher können wir Typecast verwenden, um ein Objekt in ein Array-Objekt umzuwandeln. Im folgenden Beispiel definieren wir ein Objekt mit den Eigenschaften Name, Alter und Geschlecht und konvertieren das Objekt dann in ein Array-Objekt:

class Person {
    public $name;
    public $age;
    public $gender;
}

$person = new Person();
$person->name = '张三';
$person->age = 18;
$person->gender = '男';

$array = (array) $person;
print_r($array);

Ausgabe:

Array
(
    [name] => 张三
    [age] => 18
    [gender] => 男
)
#🎜🎜 #Im Obigen Beispielsweise wandeln wir das Objekt $person mithilfe von (array) in das Array-Objekt $array um. Durch Drucken des Array-Objekts können wir sehen, dass $array die Attribute und Werte von $person erfolgreich enthält.

Bitte beachten Sie, dass im aus dem Objekt konvertierten Array-Objekt der Name des Attributs der Name des Objektattributs und der Wert des Attributs der Wert des Objektattributs ist. Diese Methode kann jedoch die privaten Eigenschaften des Objekts nicht in Array-Objekteigenschaften umwandeln. Wenn Sie eine private Eigenschaft in eine Array-Objekteigenschaft konvertieren müssen, verwenden Sie eine andere Konvertierungsmethode.

2. Verwenden Sie die Funktion get_object_vars()

Die Funktion get_object_vars() in PHP kann verwendet werden, um alle Attribute und Attributwerte eines Objekts abzurufen. und geben einen Wert zurück, der aus dem Attributnamen und einem assoziativen Array von Attributwerten besteht. Wir können das Rückgabearray dieser Funktion als Array-Objekt von Objekten darstellen. Das Folgende ist ein Beispiel für die Verwendung der Funktion get_object_vars() zum Konvertieren eines Objekts in ein Array-Objekt:

class Person {
    public $name;
    public $age;
    private $gender;
}

$person = new Person();
$person->name = '张三';
$person->age = 18;
$person->gender = '男';

$array = get_object_vars($person);
print_r($array);
Ausgabeergebnis:

Array
(
    [name] => 张三
    [age] => 18
)
Im obigen Beispiel definieren wir ein Objekt $person, das öffentliche Eigenschaften $name und $age sowie private Eigenschaften $gender hat. Anschließend konvertieren wir dieses Objekt mit der Funktion get_object_vars() in ein Array-Objekt $array. Bitte beachten Sie, dass die Funktion get_object_vars() nur die öffentlichen Eigenschaften und Werte des Objekts zurückgibt, mit Ausnahme der privaten Eigenschaft $gender.

3. Verwenden Sie die Funktion json_decode()

Die Funktion json_decode() in PHP kann verwendet werden, um eine JSON-Formatzeichenfolge in eine PHP-Variable oder ein PHP-Objekt zu konvertieren. Beim Konvertieren eines Objekts gibt die Funktion json_decode() ein stdClass-Objekt zurück, das mithilfe von Typecast in ein Array-Objekt konvertiert werden kann. Das Folgende ist ein Beispiel für die Verwendung der json_decode()-Funktion zum Konvertieren eines Objekts in ein Array-Objekt:

class Person {
    public $name;
    public $age;
    private $gender;
}

$person = new Person();
$person->name = '张三';
$person->age = 18;
$person->gender = '男';

$jsonStr = json_encode($person);
$array = (array) json_decode($jsonStr);
print_r($array);
Ausgabeergebnis:

Array
(
    [name] => 张三
    [age] => 18
    [gender] => 男
)
Im obigen Beispiel konvertieren wir das Objekt $person Konvertieren Sie es zuerst über die Funktion json_encode() in eine JSON-Zeichenfolge $jsonStr und konvertieren Sie es dann über die Funktion json_decode() in ein stdClass-Objekt. Schließlich verwenden wir Typecast, um das stdClass-Objekt in ein Array-Objekt $array zu konvertieren. Bitte beachten Sie, dass mit dieser Methode auch die privaten Eigenschaften des Objekts in Array-Objekteigenschaften umgewandelt werden können.

Fazit

PHP bietet mehrere Methoden zum Konvertieren von Objekten in Array-Objekte. Wir können die geeignete Methode entsprechend den tatsächlichen Bedürfnissen auswählen. Bei Verwendung der Typecast-Methode muss das Objekt in ein Array-Objekt umgewandelt werden, private Eigenschaften können jedoch nicht in Array-Objekteigenschaften umgewandelt werden. Bei Verwendung der Funktion get_object_vars() können nur die öffentlichen Eigenschaften und Werte des Objekts abgerufen werden. Wenn Sie die Funktion json_decode() verwenden, können Sie sowohl die öffentlichen als auch die privaten Eigenschaften eines Objekts in Array-Objekteigenschaften konvertieren.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein Objekt in ein Array-Objekt 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