ホームページ >バックエンド開発 >PHPチュートリアル >PHP で一般的なメソッドが stdClass から配列に変換できないのはなぜですか?
PHP で stdClass オブジェクトを配列に変換しようとすると、さまざまなアプローチで結果が得られない可能性があります。望ましい結果。この記事では、いくつかの一般的なメソッドが失敗する理由を調査し、オブジェクトのデータを保持する代替ソリューションを提供します。
次のメソッドは空の配列になる可能性があります。間違った使用法または制限のため:
stdClass オブジェクトを配列に効率的に変換するには、PHP の JSON エンコードおよびデコード メソッドを利用できます。ワンライナーの解決策は次のとおりです。
$array = json_decode(json_encode($booking), true);<br>
このアプローチでは、パフォーマンスの低下を回避できます。すべてのオブジェクトを保持しながらオブジェクトを再帰的に繰り返すオーバーヘッドdata.
json_encode メソッドと json_decode メソッドは、PHP バージョン 5.2.0 以降の組み込み関数です。古い PHP バージョンを使用している場合は、PECL ライブラリが必要です。
$stdClass = json_decode(json_encode($booking));<br>
json_decode メソッドを使用すると、「 assoc」引数。オブジェクトを連想配列に変換するかどうかを示します。この値を true に設定すると、stdClass オブジェクトを配列に変換できます:
$array = json_decode(json_encode($booking), true);<br>
このソリューションは、stdClass から配列への変換を処理する便利で効率的な方法を提供します。 PHP.
以上がPHP で一般的なメソッドが stdClass から配列に変換できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。