PHP は、リレーショナル データベースをサポートする一般的なサーバー側プログラミング言語であり、フォントの操作、HTML の使用、およびその他の多くの機能に使用されます。 PHP では、オブジェクトはデータ型として使用され、さまざまな PHP 拡張ライブラリやフレームワークで頻繁に使用されます。ただし、データ処理を改善するために Object を配列に変換する必要がある場合がありますので、この記事では、PHP で Object を配列に変換する方法を説明します。
PHP のオブジェクト型
PHP では、オブジェクト型はバッキング型と呼ばれ、PHP のトップレベルで最も基本的なデータ型です。その型プロトコルは、クラス インスタンスと非クラス オブジェクトをサポートできます。
例:
class Fruits { public $apple_color = 'red'; public $orange_color = 'orange'; function __construct($apple_color, $orange_color) { $this->apple_color = $apple_color; $this->orange_color = $orange_color; } } $fruit_instance = new Fruits('green', 'yellow'); $fruit_object = (object)array('apple' => 'red', 'orange' => 'orange', 'furniture' => 'blue');
上記のコードでは、Fruits
はクラスであり、そのインスタンス $fruit_instance
とオブジェクト#を作成します##$フルーツ_オブジェクト。どちらもオブジェクト型データに属しますが、
$fruit_instance は「クラス インスタンス」であり、
$fruit_object は「非クラス オブジェクト」です。
$array = (array)$fruit_object; print_r($array);上記のコードを実行すると、出力結果は次のようになります:
Array ( [apple] => red [orange] => orange [furniture] => blue )ただし、キャスト型変換を実行すると、Object は配列に変換されることに注意してください。 , しかし、元のデータの情報が失われ、元の構造を保持するためにデータを手動で再処理する必要があるため、これは期待した結果ではありません。 方法 2: get_object_vars 関数を使用するPHP の
get_object_vars 関数を使用すると、パラメーター内の Object オブジェクトの属性と属性値を取得できます。そして配列を返します。例:
$array = get_object_vars($fruit_object); print_r($array);上記のコードを実行すると、出力結果は次のようになります:
Array ( [apple] => red [orange] => orange [furniture] => blue )
get_object_vars 関数は、オブジェクトの属性のみを取得できることに注意してください。オブジェクトにはメソッドはありませんが、クラスのメンバー関数を通じてすべてのプロパティを取得できます。
json_decode 関数を使用しても、JSON 形式の文字列を配列に変換できます。例:
$json_str = json_encode($fruit_object); $array = json_decode($json_str, true); print_r($array);上記のコードを実行すると、出力結果は次のようになります:
Array ( [apple] => red [orange] => orange [furniture] => blue )
json_decode 関数はバイナリ データの処理もサポートしていることに注意してください。 。
function object_to_array($object) { if (is_object($object)) { // 获取对象的属性和属性值 $array = get_object_vars($object); } elseif (is_array($object)) { foreach ($object as $key => $value) { $array[$key] = object_to_array($value); } } else { $array = $object; } return $array; } $array = object_to_array($fruit_object); print_r($array);上記のコードを実行すると、出力結果は次のようになります:
Array ( [apple] => red [orange] => orange [furniture] => blue )私たちの関数はさまざまな状況に対処できます。 概要PHP では、オブジェクト型はさまざまなデータ アプリケーションで広く使用されており、オブジェクトを配列に変換すると、データ処理がより柔軟かつ簡単になります。ただし、オブジェクトを変換する場合、元のデータ構造と情報をより適切に保持するために、実際の状況に応じてさまざまな方法を柔軟に選択する必要があります。
以上がPHPでオブジェクトを配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。