コードで配列を使用する場合、オブジェクト内のデータを操作する API の統合には課題が生じる可能性があります。幸いなことに、PHP にはオブジェクトを連想配列に変換する簡単な方法が用意されています。
オブジェクトを配列に変換するには、単に型キャストするだけです:
$array = (array) $yourObject;
PHP で説明されているとおりドキュメント:
「オブジェクトが配列に変換されると、結果はオブジェクトのプロパティを要素とする配列になります。」
ただし、特定のプロパティは動作が異なる場合があります:
単純なオブジェクト:
$object = new StdClass; $object->foo = 1; $object->bar = 2; var_dump((array) $object);
出力:
array(2) { 'foo' => int(1) 'bar' => int(2) }
複雑オブジェクト:
class Foo { private $foo; protected $bar; public $baz; public function __construct() { $this->foo = 1; $this->bar = 2; $this->baz = new StdClass; } } var_dump((array) new Foo);
出力:
array(3) { 'Foofoo' => int(1) '*bar' => int(2) 'baz' => class stdClass#2 (0) {} }
直接の型キャストでは、オブジェクト グラフのディープ キャストは実行されません。非パブリック属性にアクセスするには、PHP マニュアルに記載されている null バイトを適用する必要があります。このメソッドは、単純な StdClass オブジェクトまたはパブリック プロパティのみを持つオブジェクトをキャストする場合に最適です。
さらに詳細な情報については、以下を読むことを検討してください:
以上がPHP オブジェクトを連想配列に簡単に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。