Konvertieren Sie ein PHP-Objekt in ein assoziatives Array
-
Verwenden Sie das Schlüsselwort
array
, um das Objekt derStdClass
in ein assoziatives Array in PHP umzuwandeln -
Verwenden Sie das Objekt der
StdClass
innerhalb einer benutzerdefinierten Klasse, um das Objekt in ein assoziatives Array in PHP umzuwandeln -
Verwenden Sie die Funktionen
json_encode()
undjson_decode()
, um das Objekt in ein assoziatives Array in PHP umzuwandeln
Wir werden eine Methode vorstellen, um das PHP-Objekt in ein assoziatives Array zu konvertieren, indem wir die Objekte von StdClass
mit dem Schlüsselwort array
typisieren. Wir verwenden die Funktion var_dump()
, um das assoziative Array anzuzeigen.
Der zweite Ansatz demonstriert eine andere Methode, um das PHP-Objekt in ein assoziatives Array zu konvertieren, indem im Konstruktor einer benutzerdefinierten Klasse eine StdClass
erstellt wird. Wir werden das Objekt wie in der ersten Methode mit dem Schlüsselwort array
in das assoziative Array umwandeln. Diese Methode folgt dem objektorientierten Ansatz.
Wir werden auch eine andere Methode vorstellen, um das Objekt in PHP mit den Funktionen json_encode()
und json_decode()
in ein assoziatives Array umzuwandeln. Wir verwenden die StdClass
, um das Objekt und die dynamischen Eigenschaften zu erstellen.
Verwenden Sie das Schlüsselwort array
, um das Objekt der StdClass
in ein assoziatives Array in PHP umzuwandeln
Wir können die leere Klasse StdClass
erstellen, um ein Objekt in PHP zu erstellen und das Objekt zum Erstellen von Eigenschaften verwenden. Das Objekt der Klasse kann direkt auf die Eigenschaften zugreifen. Es kann auch dynamische Eigenschaften für die Klasse erstellen. Wir können das Objekt array
verwenden, um das Objekt in ein Array umzuwandeln. Die Funktion var_dump()
gibt die Informationen über den Typ und die Werte des Arrays aus.
Erstellen Sie beispielsweise ein Objekt $object
der StdClass
mit dem Operator new
. Erstellen Sie zwei Eigenschaften mit dem $object
namens car1
und car2
. Weisen Sie den Eigenschaften die Werte porsche
und bugatti
zu. Verwenden Sie das Schlüsselwort array
, um die Variable $object
zu typisieren. Setzen Sie das Schlüsselwort array
in Klammern vor die Variable $object
und geben Sie den Wert mit der Funktion var_dump()
aus. Das folgende Beispiel wandelt die Objekte in ein assoziatives Array um, wie im Ausgabeabschnitt gezeigt. Es zeigt die Schlüssel- und Wertpaare für jedes Element des Arrays.
Beispielcode:
#php 7.x
<?php
$object = new StdClass;
$object->car1 = "porsche";
$object->car2 = "bugatti";
var_dump( (array) $object );
?>
Ausgabe:
array(2) { ["car1"]=> string(7) "porsche" ["car2"]=> string(7) "bugatti" }
Verwenden Sie das Objekt der StdClass
innerhalb einer benutzerdefinierten Klasse, um das Objekt in ein assoziatives Array in PHP umzuwandeln
Wir können eine Instanz der StdClass
im Konstruktor der Klasse erstellen und das Schlüsselwort array
verwenden, um das Objekt der Klasse in ein assoziatives Array umzuwandeln. Wir können eine Klasse erstellen und einige Eigenschaften davon definieren. Der Konstruktor der Klasse initialisiert die Eigenschaften der Klasse mit bestimmten Werten. Wir können ein Objekt der StdClass
erstellen und ihm eine der Eigenschaften der Klasse zuweisen. Der Operator new
ruft zusammen mit der Klasse den Konstruktor auf. Wir können das Schlüsselwort array
direkt vor dem Aufruf verwenden, um das Objekt der Klasse in ein assoziatives Array umzuwandeln.
Erstellen Sie beispielsweise eine Klasse Motorrad
. Erstellen Sie drei Klasseneigenschaften mit dem Zugriffsmodifizierer private
als $name
, $color
und $type
. Erstellen Sie einen Konstruktor der Klasse und initialisieren Sie innerhalb des Konstruktors die Werte der Eigenschaften. Schreiben Sie Husky
für $name
, Weiss
für $color
und erstellen Sie ein Objekt der StdClass
für Typ
. Verwenden Sie das Schlüsselwort $this
, um die Eigenschaften zu initialisieren. Rufen Sie außerhalb der Klasse die Klasse Motorrad
auf und verwenden Sie das Schlüsselwort array
zur Typumwandlung vor dem Aufruf. Verwenden Sie die Funktion var_dump()
, um die Informationen über das typgewandelte Array auszugeben.
Beispielcode:
#php 7.x
class Motorcycle{
private $name;
private $color;
private $type;
public function __construct(){
$this->name = "Husky";
$this->color = "white";
$this->type = new StdClass;
}
}
var_dump( (array) new Motorcycle );
Ausgabe:
array(3) { ["Motorcyclename"]=> string(5) "Husky" ["Motorcyclecolor"]=> string(5) "white" ["Motorcycletype"]=> object(stdClass)#2 (0) { } }
Verwenden Sie die Funktionen json_encode()
und json_decode()
, um das Objekt in ein assoziatives Array in PHP umzuwandeln
Die Funktion json_encode()
kodiert einen Wert in das JSON-Objekt und die Funktion json_decode()
wandelt das JSON-Objekt in das PHP-Objekt um. Der boolesche Wert, der zweite Parameter der Funktion json_decode()
, gibt an, was das JSON-Objekt konvertiert werden soll. Der Wert true
wandelt das JSON-Objekt in ein assoziatives Array um, während der Wert false
es in ein PHP-Objekt umwandelt.
Erstellen Sie beispielsweise ein Objekt der StdClass
und weisen Sie es der Variablen $object
zu. Nennen Sie zwei Werte der Objekteigenschaft als Mustang
und Manang
und speichern Sie diese in den Variablen place1
und place2
. Verwenden Sie die Funktion json_encode()
auf die Variable $object
und speichern Sie den Wert in der Variablen $json
. Verwenden Sie dann die Funktion json_decode()
auf die Variable $json
und verwenden Sie als zweiten Parameter den booleschen Wert true
. Speichern Sie den Wert in der Variablen $array
. Dump der Variable mit der Funktion var_dump()
.
Im folgenden Beispiel enthält die Variable $object
das StdClass
-Objekt. Die Funktion json_ecode()
konvertiert das Objekt in den JSON-String. Die Funktion json_decode()
wandelt den JSON-String in das assoziative Array um.
Beispielcode:
#php 7.x
<?php
$object = new StdClass;
$object->place1 = "Mustang";
$object->place2 = "Manang";
$json= json_encode($object);
$array = json_decode($json, true);
var_dump($array);
?>
Ausgabe:
array(2) { ["place1"]=> string(7) "Mustang" ["place2"]=> string(6) "Manang" }
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