PHPでオブジェクトを配列に変換する方法
PHP では、オブジェクトと配列は 2 つの異なるデータ型です。ただし、使いやすいようにクラスのインスタンス化オブジェクトのプロパティとメソッドを配列に変換するなど、オブジェクトを配列に変換する必要がある場合があります。
PHP では、オブジェクトを配列に変換する方法がいくつかあります。
1. get_object_vars() 関数を使用する
これは最も基本的な方法であり、最も単純な方法です。 get_object_vars() 関数は、オブジェクト内のすべての属性と属性値の配列を返すことができます。
例:
class MyClass { public $a = 1; protected $b = 2; private $c = 3; public function test(){ return "hello world!"; } } $obj = new MyClass(); $array = get_object_vars($obj); print_r($array);
出力:
Array ( [a] => 1 )
ご覧のとおり、get_object_vars() 関数はパブリック属性 $a の値のみを取得し、保護された属性の値は取得します。およびプライベート属性 $ b と $c の場合、それらの値は取得されません。
2. オブジェクト キャストの型変換を使用する
PHP では、型キャスト (型キャスト) を使用してオブジェクトを配列に変換できます。強制型変換では「(array)」キーワードを使用します。
例:
class MyClass { public $a = 1; protected $b = 2; private $c = 3; public function test(){ return "hello world!"; } } $obj = new MyClass(); $array = (array) $obj; print_r($array);
出力:
Array ( [a] => 1 [*b] => 2 MyClassprivatec] => 3 )
この配列にはすべてのプロパティとプロパティ値が含まれますが、保護されたプロパティとプライベート プロパティには、区別される * またはクラス名が接頭辞として付けられます。公共財産から。
このメソッドはオブジェクト内のメソッドをリストするのではなく、オブジェクトのプロパティのみをリストすることに注意してください。
3. json_decode() 関数を使用する
PHP では、json_decode() 関数を使用して、JSON 形式の文字列を配列またはオブジェクトに変換できます。したがって、オブジェクトのプロパティを JSON 形式でエンコードし、配列にデコードできます。
例:
class MyClass { public $a = 1; protected $b = 2; private $c = 3; public function test(){ return "hello world!"; } } $obj = new MyClass(); $json = json_encode($obj); $array = json_decode($json, true); print_r($array);
出力:
Array ( [a] => 1 [b] => 2 [MyClassprivatec] => 3 )
このメソッドは、保護されたプロパティとプライベート プロパティも配列に変換しますが、クラス名のプレフィックスを追加することに注意してください。
概要
上記は、get_object_vars() 関数、強制型変換、および json_decode() 関数の使用を含む、オブジェクトを配列に変換するいくつかの方法です。最も一般的に使用されるのは、cast 関数と json_decode() 関数です。
強制型変換と json_decode() 関数を使用する場合、protected 属性と private 属性の値には、クラス名または * などの記号が接頭辞として付けられる場合があることに注意してください。特定の状況に従って処理されます。
以上がPHPでオブジェクトを配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









この記事では、Webアプリケーションの応答性を高めるために、PHPでの非同期タスクの実行について説明します。 メッセージキュー、非同期フレームワーク(Reactphp、Swoole)、およびバックグラウンドプロセスなどの方法を詳しく説明し、Efficienのベストプラクティスを強調しています

この記事では、RabbitMQとRedisを使用してPHPでメッセージキューを実装する詳細を示します。 それは、それらのアーキテクチャ(AMQP対インメモリ)、機能、および信頼性メカニズム(確認、トランザクション、永続性)を比較します。デザインのベストプラクティス、エラー

この記事では、PSRの推奨事項(PSR-1、PSR-2、PSR-4、PSR-12)に焦点を当てた現在のPHPコーディング基準とベストプラクティスを検証します。 一貫したスタイリング、意味のある命名、EFFを通じてコードの読みやすさと保守性を改善することを強調しています

この記事では、PHPの反射APIについて説明し、クラス、方法、およびプロパティのランタイム検査と操作を可能にします。 一般的なユースケース(ドキュメンテーション生成、ORM、依存関係注入)とパフォーマンスオーバーヘアに対する注意の詳細

この記事では、PHP拡張機能のインストールとトラブルシューティングの詳細で、PECLに焦点を当てています。 インストール手順(検索、ダウンロード/コンパイル、サーバーの再起動、再起動)、トラブルシューティングテクニック(ログのチェック、インストールの確認、

この記事では、PHPエコシステムに最新の状態を維持するための戦略を探ります。 公式チャンネル、コミュニティフォーラム、会議、オープンソースの貢献を利用することを強調しています。 著者は、新機能と

PHP 8のJITコンピレーションは、頻繁に実行されるコードをマシンコードにコンパイルし、重い計算でアプリケーションに利益をもたらし、実行時間を短縮することにより、パフォーマンスを向上させます。

この記事では、PHPメモリの最適化について説明します。 適切なデータ構造を使用し、不必要なオブジェクトの作成を回避し、効率的なアルゴリズムを採用するなどの手法について詳しく説明しています。 一般的なメモリリークソース(例:除去されていない接続、グローバルv
