PHP で stdClass オブジェクトを配列に変換する
データベースからデータを取得する場合、行を表す stdClass オブジェクトを取得するのが一般的です。ただし、オブジェクトの操作が必ずしも便利であるとは限りません。この記事では、このようなオブジェクトを PHP で連想配列に変換する方法について説明します。
問題
次のシナリオを考えてみましょう: データベース クエリを使用して投稿 ID を取得し、保存します。それらは stdClass オブジェクト ($post_id) 内にあります。オブジェクトを印刷しようとすると、「post_id」キーを持つ要素がオブジェクトに含まれていることがわかります。目標は、投稿 ID をオブジェクトの配列ではなく整数の配列として抽出することです。
解決策
stdClass オブジェクトを次の形式に変換するには、主に 2 つの方法があります。配列:
1。 JSON のエンコードとデコード
このメソッドでは、オブジェクトを JSON 文字列に変換し、それをデコードして配列に戻します。以下のコードはこれを示しています:
$array = json_decode(json_encode($post_id), true);
2.手動トラバーサル
または、オブジェクトを手動でトラバースして自分で配列を作成することもできます。
$array = array(); foreach ($post_id as $value) { $array[] = $value->post_id; }
例
$post_id オブジェクトは次のようになりますこれ:
Array( [0] => stdClass Object ( [post_id] => 140 ) [1] => stdClass Object ( [post_id] => 141 ) [2] => stdClass Object ( [post_id] => 142 ) )
手動走査アプローチを使用すると、出力配列は次のようになります:
Array( [0] => 140 [1] => 141 [2] => 142 )
結論
どちらの方法も実行可能なオプションを提供しますstdClass オブジェクトを配列に変換します。 JSON アプローチは簡潔で効率的ですが、手動アプローチではプロセスをより詳細に制御できます。
以上がPHP で stdClass オブジェクトを配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。