嗨我有一个带有对象的std类对象,当我把它作为数组转换时,只有第一级更改为数组。是否有将子对象转换为数组的原因?
的var_dump($ heyo);
object(stdClass)#167 (27) {
["uid"]=> object(stdClass)#166 (1) {
["1"]=> int(15)
的var_dump((阵列)($ heyo));
array(27) {
["uid"]=> object(stdClass)#166 (1) {
["1"]=> int(15)
答案 0 :(得分:1)
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;
}
}
它会递归地将stdClass对象转换为数组