【问题标题】:convert multidimensional array to object in php [duplicate]在php中将多维数组转换为对象[重复]
【发布时间】:2017-02-16 06:14:30
【问题描述】:

我看过很多例子,但没有成功帮助自己。我有一个要转换为对象格式的多维数组。我尝试过更深层次(多维),但仅此而已。我想让它成为一个 php 对象。这是我的场景

// this is my array

Array
(
[_cars] => Array
    (
        [_car] => Array
            (
                [0] => Array
                    (
                        [_types] => Array
                            (
                                [_type] => Array
                                    (
                                        [0] => Array
                                            (
                                                [_cc] => 100
                                            )

                                        [1] => Array
                                            (
                                                [_cc] => 100
                                            )

                                        [2] => Array
                                            (
                                                [_cc] => 1000
                                            )

                                    )

                            )
                        ) 
                    )
            )
    ) 
) 

// this is what i want

[_cars] => stdClass Object
    (
        [_car] => Array
            (
                [0] => stdClass Object
                    (
                        [_types] => stdClass Object
                            (
                                [_type] => Array
                                    (
                                        [0] => stdClass Object
                                            (
                                                [_cc] => 999999999999
                                            )

                                        [1] => stdClass Object
                                            (
                                                [_cc] => 999999999999
                                            )

                                        [2] => stdClass Object
                                            (
                                                [_cc] => 999999999999
                                            )

                                    )

                            )
                    )
             )
        )          

【问题讨论】:

标签: php arrays object multidimensional-array


【解决方案1】:

不确定它是否会起作用,但你可以尝试

$object = json_decode(json_encode($array));

【讨论】:

  • 嗯@ÁlvaroGonzález 你有什么会导致失败的例子吗?不想成为痛苦,我只是感兴趣
  • @RiggsFolly 当然,这是一个example with a DateTime object,它变成了一个stdClass。您可能会争辩说这正是规范,但如果您没有预料到它可能会令人困惑。
  • @ÁlvaroGonzález 谢谢。不知道 DateTime 转换
【解决方案2】:

如果没问题,请检查一下

$obj = new stdClass($array); or
$obj = json_decode(json_encode($array));

【讨论】:

    猜你喜欢
    • 2014-03-08
    • 2017-06-20
    • 2020-08-10
    • 2013-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    • 1970-01-01
    相关资源
    最近更新 更多