How do I convert an object to an array?

后端 未结 11 1389
别那么骄傲
别那么骄傲 2020-11-22 10:36
response->docs);
?>

Outputs the following:

    Array 
(
    [0] => Object 
            (         


        
11条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-11-22 11:13

    Simple version:

    $arrayObject = new ArrayObject($object);
    $array = $arrayObject->getArrayCopy();
    

    Updated recursive version:

    class RecursiveArrayObject extends ArrayObject
    {
        function getArrayCopy()
        {
            $resultArray = parent::getArrayCopy();
            foreach($resultArray as $key => $val) {
                if (!is_object($val)) {
                    continue;
                }
                $o = new RecursiveArrayObject($val);
                $resultArray[$key] = $o->getArrayCopy();
            }
            return $resultArray;
        }
    }
    
    $arrayObject = new RecursiveArrayObject($object);
    $array = $arrayObject->getArrayCopy();
    

提交回复
热议问题