首页 >后端开发 >php教程 >如何在 PHP 中将 stdClass 对象转换为数组?

如何在 PHP 中将 stdClass 对象转换为数组?

Barbara Streisand
Barbara Streisand原创
2024-11-27 00:43:08686浏览

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
        )

)

要将这个对象数组转换为简单的帖子 ID 数组,我们可以利用两种方法:

  1. JSON 编码和解码:最快的方法是对对象进行 JSON 编码,然后将其解码回数组:
$array = json_decode(json_encode($post_id), true);
  1. 手动遍历:或者,我们可以手动遍历对象并提取帖子 ID:
$array = [];
foreach ($post_id as $value) 
    $array[] = $value->post_id;

两种方法都会生成所需的数组:

Array
(
    [0]  => 140


    [1] => 141


    [2] => 142

)

通过利用这些技术,您可以无缝转换 stdClass 对象到数组中,使您能够根据需要操作和处理数据。

以上是如何在 PHP 中将 stdClass 对象转换为数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn