PHP では、オブジェクトと配列が一般的に使用されるデータ型です。ただし、データを処理する場合は、オブジェクトを配列に変換する必要があります。この変換は PHP では非常に一般的であり、プロセスは簡単です。今回はオブジェクトを配列に変換する方法を解説します。
PHP オブジェクトはクラス インスタンスに基づいており、各オブジェクトには独自のプロパティとメソッドがあります。オブジェクトのプロパティには通常、数値、文字列、ブール値などの基本的なタイプの値が含まれていますが、他のオブジェクトである場合もあります。オブジェクトのプロパティとメソッドには、矢印記号「->」を使用してアクセスできます。
一方、配列は、特定の順序で配置された値のセットを含むコンテナ データ型です。配列には、数値、文字列、ブール値、オブジェクト、その他の配列を含む、あらゆる種類のデータを含めることができます。
PHP オブジェクトを配列に変換するために、PHP には get_object_vars() と json_decode() という 2 つの組み込み関数が用意されています。以下では、これら 2 つの機能の使い方を詳しく紹介します。
get_object_vars() 関数を使用する
get_object_vars() 関数は、オブジェクトをパラメータとして受け取り、オブジェクトの属性と対応する値の連想配列を返します。この配列のキーはオブジェクトのプロパティの名前であり、値はプロパティの値です。
次は簡単な例です:
class Person { public $name = "John"; public $age = 30; public $city = "New York"; } $person = new Person(); $personArray = get_object_vars($person); print_r($personArray);
出力結果は次のとおりです:
Array ( [name] => John [age] => 30 [city] => New York )
上記のように、get_object_vars() 関数によって返される配列には、 person クラスと対応する値、関数のパラメーターはオブジェクト自体です。
json_decode() 関数を使用する
json_decode() 関数は、JSON 形式のデータを PHP オブジェクトまたは配列に変換します。最初のパラメータは JSON 形式の文字列で、2 番目のパラメータは JSON 文字列を連想配列に変換するかどうかを指定するブール値です。
次は簡単な例です:
$jsonString = '{"name":"John","age":30,"city":"New York"}'; $personArray = json_decode($jsonString, true); print_r($personArray);
出力結果は次のとおりです:
Array ( [name] => John [age] => 30 [city] => New York )
上に示すように、最初に JSON 形式の文字列を作成します。次に、 json_decode() 関数を使用して、この文字列を配列に変換します。関数呼び出しでは、2 番目のパラメーターが true に設定されています。これは、JSON 文字列を連想配列に変換することを意味します。
注: デフォルトでは、 json_decode() 関数は JSON 文字列を配列ではなく PHP オブジェクトに変換します。 JSON 文字列を配列に変換する場合は、関数パラメータの 2 番目のパラメータを true に設定します。
概要
PHP ではオブジェクトを配列に変換するのは非常に簡単で、2 つの組み込み関数を使用して実行できます。 get_object_vars() 関数はオブジェクトのプロパティを配列に変換し、json_decode() 関数は JSON 文字列を配列に変換します。どちらのメソッドもオブジェクトを配列に変換します。
以上がPHPでオブジェクトデータを配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。