Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung der Black-Technologie zum Konvertieren von PHP-Objekten in Arrays

Detaillierte Erklärung der Black-Technologie zum Konvertieren von PHP-Objekten in Arrays

黄舟
黄舟Original
2017-10-21 11:24:031172Durchsuche

Normalerweise ist es in PHP etwas aufwändig, Objekte in Arrays zu verarbeiten.
Aber heute werde ich Ihnen eine ganz einfache schwarze Technik vorstellen, um dieses Problem zu lösen.

<?php
/**
 * Created by PhpStorm.
 * User: zrj
 * Date: 17-10-20
 * Time: 下午8:08
 */
declare(strict_types=1);//开启强类型模式

class Person
{
    public $name;
    public $age;

    public function __construct(string $name,int $age)
    {
        $this->name = $name;
        $this->age = $age;
    }
}

$jack = new Person(&#39;Jack&#39;, 18);
echo print_r($jack, true);
echo "<p>";

//对象转数组
$jack = json_decode(json_encode($jack), true);
echo print_r($jack, true);

Schauen wir uns die Ergebnisse an:

Person Object
(
    [name] => Jack
    [age] => 18
)

Array
(
    [name] => Jack
    [age] => 18
)

Ideenanalyse:

  1. Fügen Sie zunächst das Objekt „Json_encode-Verarbeitung durchführen“ in eine JSON-Zeichenfolge ein.

  2. Führen Sie json_decode für die konvertierte JSON-Zeichenfolge aus.

    json_decode(json_encode($obj),true);

Zusammenfassung:

Vorteile: Einfach und schnell.

Nachteile: Verbraucht doppelt so viel Speicher.

Richtige Haltung abrufen:

Das Objekt selbst belegt wenig Speicher und kann direkt verwendet werden.

Wenn das Objekt selbst viel Speicher belegt (z. B. Tausende von Datensätzen, die ein Datensatzobjekt bilden), kann die doppelte Speicherbelegung dazu führen Aufgrund der Speicherbeschränkung ist in PHP eine Ausnahme aufgetreten.

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der Black-Technologie zum Konvertieren von PHP-Objekten in Arrays. 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