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 )
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 中国語 Web サイトの他の関連記事を参照してください。