将stdclassobject转换为php中的数组时出现问题

时间:2014-03-25 14:40:22

标签: php

我有一个数组,里面有stdclassObjects。我需要将这些stdClassObjects转换为数组。下面是数组:

Array
(
    [serial] => #253
    [details] => stdClass Object
        (
            [Department] => stdClass Object
                (
                    [value] => CI DATA CENTER
                )

            [City] => stdClass Object
                (
                    [value] => NYC
                )

        )

    [owner] => Drey
)

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

超级懒惰的方式是json_decodejson_encode

$multiDimArray = json_decode(json_encode($multiDimObject), true);

json_decode上的文档指定第二个参数:

  

<强> ASSOC
  当TRUE时,返回的对象将被转换为关联数组。

答案 1 :(得分:0)

function convertStdClassToArray($stdClass) {

    $outputArray = [];

    if (is_array($stdClass) || !empty($stdClass)) {

        foreach ($stdClass as $field => $value) {

            $outputArray[$field] = $this->convertStdClassToArray($value);

        }
    }
    return $outputArray;
}