PHP では、オブジェクトは複数のプロパティとメソッドを含めることができる複雑なデータ型です。オブジェクトをデータベースに保存したり、オブジェクトを JSON 形式に変換したりするなど、操作のためにオブジェクトを配列に変換する必要がある場合があります。この記事では、PHP でオブジェクトを配列に変換する方法を説明します。
方法 1: 強制型変換を使用する
PHP で強制型変換を使用して、オブジェクトを配列に変換できます。具体的な方法は、オブジェクトのプロパティを配列のキーとして使用し、プロパティの値を配列の値として使用し、配列を返すことです。
以下は、Person オブジェクトを配列に変換する関数を実装するサンプル コードです。
class Person { public $name; public $age; public $gender; public function __construct($name, $age, $gender) { $this->name = $name; $this->age = $age; $this->gender = $gender; } } $person = new Person('John', 28, 'male'); // 使用强制类型转换将对象转换为数组 $array = (array) $person; print_r($array); // 输出结果为:Array ( [name] => John [age] => 28 [gender] => male )
ご覧のとおり、上記の例では、強制型変換を使用して Person を変換しています。オブジェクトが配列に変換されました。キャストは非常に便利ですが、オブジェクトのパブリック プロパティのみを配列に変換でき、プライベート プロパティやプロテクト プロパティを配列に変換できないという欠点があります。
方法 2: get_object_vars 関数を使用する
強制的な型変換に加えて、PHP にはオブジェクトを配列に変換する別のメソッドも用意されています。この方法は get_object_vars 関数を使用します。この関数はオブジェクトをパラメータとして受け取り、オブジェクトのすべてのプロパティを配列に変換して返します。
以下は、Person オブジェクトを配列に変換する関数を実装するサンプル コードです。
class Person { public $name; public $age; public $gender; public function __construct($name, $age, $gender) { $this->name = $name; $this->age = $age; $this->gender = $gender; } } $person = new Person('John', 28, 'male'); // 使用get_object_vars函数将对象转换为数组 $array = get_object_vars($person); print_r($array); // 输出结果为:Array ( [name] => John [age] => 28 [gender] => male )
get_object_vars 関数は、強制的な型変換とは異なり、オブジェクトのすべての属性を配列に変換できます。 , プライベート プロパティと保護されたプロパティが含まれます。
方法 3: json_decode 関数と json_encode 関数を使用する
上記の 2 つの方法に加えて、最初にオブジェクトを JSON 形式に変換し、次に JSON 形式を配列に変換することもできます。この方法では、json_decode 関数と json_encode 関数を使用する必要があります。
以下は、Person オブジェクトを配列に変換する関数を実装したサンプル コードです。
class Person { public $name; public $age; public $gender; public function __construct($name, $age, $gender) { $this->name = $name; $this->age = $age; $this->gender = $gender; } } $person = new Person('John', 28, 'male'); // 将对象转换为JSON格式 $json = json_encode($person); // 将JSON格式转换为数组 $array = json_decode($json, true); print_r($array); // 输出结果为:Array ( [name] => John [age] => 28 [gender] => male )
json_decode 関数と json_encode 関数を使用すると、オブジェクトを簡単に配列に変換できます。
概要:
PHP では、オブジェクトを配列に変換する方法がたくさんあります。 Cast、get_object_vars 関数、json_decode、json_encode 関数などのメソッドを使用できます。方法が異なれば適用可能なシナリオも異なり、実際のニーズに応じて適切な方法を選択できます。強制型変換を使用する場合は、配列に変換できるのはパブリック属性のみであることに注意する必要があります。get_object_vars 関数を使用する場合は、すべての属性を配列に変換できます。json_decode および json_encode 関数を使用する場合は、JSON に注意する必要があります。フォーマット変換。
以上がPHPでオブジェクトを配列に変換するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ホットトピック









