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

So konvertieren Sie ein Objekt in PHP in ein Array

PHPz
PHPzOriginal
2023-04-23 09:19:20704Durchsuche

In der PHP-Entwicklung müssen wir häufig ein Objekt in ein Array umwandeln, um die Manipulation und Verarbeitung von Daten zu erleichtern. In diesem Artikel erfahren Sie, wie Sie ein Objekt in ein Array konvertieren.

1. Typkonvertierung verwenden

In PHP können wir die Typkonvertierung verwenden, um Objekte in Arrays zu konvertieren, und die Objekt-in-Array-Funktion „get_object_vars()“ verwenden, um die Array-Darstellung aller Attribute des Objekts zu erhalten. Mithilfe der Typkonvertierung können wir diese Array-Darstellung dann in ein Standard-Array umwandeln.

Zum Beispiel haben wir ein Person-Objekt, das zwei Attribute „Name“ und „Alter“ hat:

class Person {
    public $name = '张三';
    private $age = 20;
}

$person = new Person();

Wir können den folgenden PHP-Code verwenden, um das Person-Objekt in ein Array umzuwandeln:

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

Das Ausgabeergebnis ist:

Array
(
    [name] => 张三
    [*age] => 20
)

Erforderlich Beachten Sie, dass private Eigenschaften nicht konvertiert werden, wenn ein Objekt mithilfe von Typkonvertierungsmethoden konvertiert wird. Daher sehen wir in der obigen Ausgabe, dass die Privateigenschaft „age“ in „*age“ umgewandelt wird.

2. JSON-Kodierung verwenden

PHPs Funktion „json_encode()“ kann das Objekt in die Darstellung im JSON-Format konvertieren, und wir können es dann mit der Funktion „json_decode()“ in ein Array konvertieren. Diese Methode ist flexibler als die Typkonvertierung und kann private Eigenschaften konvertieren.

Zum Beispiel verwenden wir dasselbe Person-Objekt wie im obigen Beispiel, um diese Methode zu demonstrieren:

class Person {
    public $name = '张三';
    private $age = 20;
}

$person = new Person(); 
$arrPerson = json_decode(json_encode($person), true); 
print_r($arrPerson);

Das Ausgabeergebnis lautet wie folgt:

Array
(
    [name] => 张三
    [age] => 20
)

3. Manuelle Konvertierung

Zusätzlich zu den beiden oben genannten Methoden können Sie auch Konvertieren Sie das Objekt manuell in ein Array. Der Vorteil dieser Methode besteht darin, dass Sie den Konvertierungsprozess vollständig steuern und die Schlüsselwerte des zurückgegebenen Arrays anpassen können.

Zum Beispiel können wir dem Person-Objekt eine „toArray()“-Methode hinzufügen, um sie manuell zu konvertieren:

class Person {
    public $name = '张三';
    private $age = 20;

    public function toArray()
    {
        return [
            'name' => $this->name,
            'age' => $this->age
        ];
    }
}

$person = new Person();
$arrPerson = $person->toArray();
print_r($arrPerson);

Das Ausgabeergebnis lautet wie folgt:

Array
(
    [name] => 张三
    [age] => 20
)

Mit der manuellen Konvertierungsmethode können wir nicht nur die Konvertierung vollständig steuern Prozess, aber passen Sie auch die Rückgabe an Der Schlüsselwert des Arrays. Auf diese Weise können wir Objekte einfach in Arrays umwandeln, um Daten zu manipulieren und zu verarbeiten.

Zusammenfassung

In diesem Artikel werden drei Methoden zum Konvertieren von Objekten in Arrays vorgestellt: Verwendung der Typkonvertierung, Verwendung der JSON-Codierung und manuelle Konvertierung. Unter diesen sind die Verwendung von Typkonvertierung und JSON-Codierung relativ einfache und gängige Methoden, während die manuelle Konvertierung flexibler ist und die Schlüsselwerte des zurückgegebenen Arrays anpassen kann. Im eigentlichen Entwicklungsprozess können wir entsprechend den spezifischen Anforderungen die geeignete Methode zur Objektkonvertierung auswählen.

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