PHPでオブジェクトを配列に変換する方法

PHPz
リリース: 2023-04-26 14:59:44
オリジナル
1951 人が閲覧しました

PHP は、強力なオブジェクト指向機能を備えた非常に便利なプログラミング言語です。 PHP では、オブジェクトを配列に簡単に変換できます。この記事では、PHP でオブジェクトを配列に変換するさまざまな方法を紹介します。

1. get_object_vars() 関数を使用する

get_object_vars() は PHP 組み込み関数で、オブジェクトのすべての属性とその値を取得し、配列を返すために使用されます。 。この関数の構文形式は次のとおりです。

array get_object_vars ( object $object )
ログイン後にコピー

ここで、$object は変換されるオブジェクトを表します。

次のサンプル コードは、オブジェクトを配列に変換する方法を示しています。

class MyClass { public $name = '张三'; protected $age = 18; private $sex = '男'; } $myObj = new MyClass(); $arr = get_object_vars($myObj); print_r($arr);
ログイン後にコピー

ここでは、オブジェクト $myObj がクラス MyClass を通じて作成され、get_object_vars() 関数を使用して配列$ に変換されます。 arr を実行し、最後に配列をコンソールに出力します。

結果は次のとおりです:

Array ( [name] => 张三 )
ログイン後にコピー

ご覧のとおり、$age 属性と $sex 属性のアクセス権限が異なるため、$name のみが配列に変換されます。

2. 型キャスト (型変換) を使用する

組み込み関数の使用に加えて、PHP の型変換構文を使用してオブジェクトを配列に変換することもできます。型変換構文では、(array)、(string)、(int) など、変換するデータ型の名前を変数の前に追加します。

次のサンプル コードでは、(array) を使用してオブジェクトを配列に変換します。

class MyClass { public $name = '张三'; protected $age = 18; private $sex = '男'; } $myObj = new MyClass(); $arr = (array) $myObj; print_r($arr);
ログイン後にコピー

前の例との違いは、オブジェクト $myObj を配列に変換するときの点です。 、we (配列) 型変換構文が使用されます。

上記のコードを実行すると、前に示した配列と同じ出力が得られます。

3. json_decode() 関数を使用する

get_object_vars() と型キャストの使用に加えて、json_decode() 関数を使用してオブジェクトを配列または連想配列に変換することもできます。

json_decode() 関数は JSON 文字列を PHP 配列または連想配列に変換できるため、オブジェクトを JSON 文字列にシリアル化してから json_decode() 関数を使用して逆シリアル化すると、オブジェクトを配列または連想配列に変換できます。配列。

次のサンプル コードは、このプロセスを示しています。

class MyClass { public $name = '张三'; protected $age = 18; private $sex = '男'; } $myObj = new MyClass(); $jsonString = json_encode($myObj); $arr = json_decode($jsonString, true); print_r($arr);
ログイン後にコピー

ここでは、クラス MyClass を通じてオブジェクト $myObj を作成し、 json_encode() 関数を使用してそれを JSON 文字列 $ jsonString にシリアル化します。次に、json_decode() 関数を使用して文字列を連想配列 $arr にデコードします。

json_decode() 関数では、2 番目のパラメーターが true に設定されています。これは、デコード後、オブジェクトの代わりに連想配列が返されることを意味します。このパラメータが設定されていない場合は、配列の代わりにオブジェクトが返されます。

コードを実行すると、前の例と同じ出力が得られます。

概要

PHP では、さまざまな方法でオブジェクトを配列に変換できます。 get_object_vars() 関数は、オブジェクトのすべてのプロパティとその値を配列に簡単に変換できます。一方、型キャスト関数と json_decode() 関数は、オブジェクトを文字列にシリアル化し、変換関数を通じて配列に変換できます。どの方法を使用するかに関係なく、現在のシナリオに適した方法を選択している限り、オブジェクトを配列に簡単に変換して、ビジネス ニーズをより適切に満たすことができます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!