我对 API 的 json 数据进行了 json 解码,并希望将对象转换为 array 。我写了一个类函数来做到这一点。这个功能是
public function objectToArray($result) {
if (is_object($result)) {
$result = get_object_vars($result);
}
if (is_array($result)) {
return array_map( @$this->objectToArray, $result);
}
else {
// Return array
return $result;
}
}
所以上面的代码不起作用。它只转换了“第一层”对象,而不是对象数组的对象(我说的是嵌套数组和对象)。但是,当我在类外声明函数 objectToArray 并将 array_map 的参数更改为“objectToArry”时,它突然开始工作。怎么会 ?PHP 类中的递归函数是否存在问题?