ホームページ >バックエンド開発 >PHPチュートリアル >PHPオブジェクトを配列に変換するブラック技術を詳しく解説

PHPオブジェクトを配列に変換するブラック技術を詳しく解説

黄舟
黄舟オリジナル
2017-10-21 11:24:031230ブラウズ

通常、php では、オブジェクトを配列に処理するのにある程度の労力がかかります。
しかし、今日はここで、この問題を解決するためのとても簡単なブラックテクニックを教えます。

<?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);

結果を見てみましょう:

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

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

アイデア分析:

  1. まず、オブジェクトを json 文字列に json_encode します。

  2. 変換されたjson文字列に対してjson_decode処理を行います。

    json_decode(json_encode($obj),true);

概要:

利点: シンプルで高速です。

欠点: メモリを 2 倍消費します。

正しい姿勢の取得:

オブジェクト自体は少量のメモリのみを占有するため、直接使用できます。

オブジェクト自体が大量のメモリを占有する場合(データセットオブジェクトを形成する数千レコードなど)、2倍のメモリを占有するとPHPのメモリ制限を超えて例外が発生する可能性があります。

以上がPHPオブジェクトを配列に変換するブラック技術を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。