PHP オブジェクトを連想配列にすばやく変換する方法
オブジェクトベースのデータを操作する API を統合する場合、多くの場合、次のようなニーズが発生します。これらのオブジェクトを配列に変換し、配列を使用して既存のコードと一致させます。この変換を実行するための簡潔で簡単な解決策は次のとおりです。
オブジェクトを型キャストします:
オブジェクトを連想配列に変換するには、次のように単純に型キャストできます。
$array = (array) $yourObject;
この型キャスト方法は、直接的かつ効率的なアプローチです。ただし、浅い変換のみを実行することに注意することが重要です。
キャスト配列のプロパティ アクセシビリティ:
オブジェクトを配列に型キャストする場合、次の点についてさまざまなルールが適用されます。プロパティのアクセシビリティ:
整数プロパティ変換:
整数プロパティはアクセスできないため、変換された配列には表示されません。
例: 単純なプロパティの変換オブジェクト:
$object = new StdClass; $object->foo = 1; $object->bar = 2; var_dump( (array) $object );
出力:
array(2) { 'foo' => int(1) 'bar' => int(2) }
例: Private および Protected を持つ複雑なオブジェクトの変換プロパティ:
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 バイトを明示的に適用する必要がある場合があります。
詳細については、リンクされたリソースを参照してください。
以上がPHP オブジェクトを連想配列にすばやく変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。