PHP で stdClass オブジェクトを配列に変換するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-27 00:43:08
オリジナル
668 人が閲覧しました

How to Convert stdClass Objects to Arrays in PHP?

PHP で stdClass オブジェクトを配列に変換する [重複]

PHP でデータベースの結果を操作する場合、データがstdClass クラスのオブジェクトとして取得されます。オブジェクトのナビゲーションは便利ですが、オブジェクトを配列に変換し直す必要がある場合もあります。

次のようにデータベースから投稿 ID を取得したシナリオを考えてみましょう。

$post_id = $wpdb->get_results("SELECT post_id FROM $wpdb->postmeta WHERE (meta_key = 'mfn-post-link1' AND meta_value = '". $from ."')");
ログイン後にコピー

これは、以下に示すように、stdClass オブジェクトの配列:

Array
(
    [0] => stdClass Object
        (
            [post_id] => 140
        )

    [1] => stdClass Object
        (
            [post_id] => 141
        )

    [2] => stdClass Object
        (
            [post_id] => 142
        )

)
ログイン後にコピー

このオブジェクトの配列を post の単純な配列に変換するにはID については、2 つのアプローチを活用できます:

  1. JSON エンコードとデコード: 最も早い方法は、オブジェクトを JSON エンコードしてからデコードして配列に戻すことです:
$array = json_decode(json_encode($post_id), true);
ログイン後にコピー
  1. マニュアルTraversal: あるいは、オブジェクトを手動で走査して投稿 ID を抽出することもできます:
$array = [];
foreach ($post_id as $value) 
    $array[] = $value->post_id;
ログイン後にコピー

両方のメソッドで目的の配列が生成されます:

Array
(
    [0]  => 140


    [1] => 141


    [2] => 142

)
ログイン後にコピー

を利用することでこれらの手法を使用すると、stdClass オブジェクトを配列にシームレスに変換でき、必要に応じてデータを操作および処理できるようになります。

以上がPHP で stdClass オブジェクトを配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート