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

黄舟
リリース: 2023-03-16 18:08:01
オリジナル
1225 人が閲覧しました

通常、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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート