首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >数组的php stdClass

数组的php stdClass
EN

Stack Overflow用户
提问于 2013-09-02 23:38:39
回答 8查看 330.3K关注 0票数 233

我在将对象stdClass转换为数组时遇到了问题。我试过这样做:

代码语言:javascript
复制
return (array) $booking;

代码语言:javascript
复制
return (array) json_decode($booking,true);

代码语言:javascript
复制
return (array) json_decode($booking);

在强制转换之前的数组充满了一条记录,在我尝试强制转换之后,它是空的。如何在不删除行的情况下对其进行转换?

强制转换前的数组:

代码语言:javascript
复制
array(1) {   [0]=>   object(stdClass)#23 (36) {     ["id"]=>     string(1) "2"     ["name"]=>     string(0) ""     ["code"]=>     string(5) "56/13"   } } 

如果尝试创建var_dump($booking);,则after cast为空NULL

我也尝试过这个函数,但总是空的:

代码语言:javascript
复制
public function objectToArray($d) {
        if (is_object($d)) {
            // Gets the properties of the given object
            // with get_object_vars function
            $d = get_object_vars($d);
        }

        if (is_array($d)) {
            /*
            * Return array converted to object
            * Using __FUNCTION__ (Magic constant)
            * for recursive call
            */
            return array_map(__FUNCTION__, $d);
        }
        else {
            // Return array
            return $d;
        }
    }
EN

回答 8

Stack Overflow用户

发布于 2013-11-20 01:50:59

使用此函数可以获得您想要的类型的标准数组...

代码语言:javascript
复制
return get_object_vars($booking);
票数 96
EN

Stack Overflow用户

发布于 2019-09-03 13:44:55

使用内置的类型转换功能,只需键入

代码语言:javascript
复制
$realArray = (array)$stdClass;
票数 26
EN

Stack Overflow用户

发布于 2017-05-12 05:24:23

请使用以下php函数将php stdClass转换为数组

代码语言:javascript
复制
get_object_vars($data)
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18576762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档