我有:
stdClass Object
(
[0] => stdClass Object
(
[one] => aaa
[two] => sss
)
[1] => stdClass Object
(
[one] => ddd
[two] => fff
)
[2] => stdClass Object
(
[one] => ggg
[two] => hhh
)
}
Run Code Online (Sandbox Code Playgroud)
我必须用钥匙来解决这个问题,例如:
$var = $stdClass[0];
Run Code Online (Sandbox Code Playgroud)
但我有错误:
致命错误:不能使用stdClass类型的对象作为数组
是否可以将此stdClass解析为数组并将其与键一起使用?
dec*_*eze 67
将它转换为数组:
$array = (array)$stdClass;
Run Code Online (Sandbox Code Playgroud)
Mar*_*cck 35
如果您正在使用json_decode将该JSON字符串转换为对象,则可以使用第二个参数json_decode($string, true)并将该对象转换为关联数组.
如果没有,其他人都说了什么,只是输入它
$array = (array) $stdClass;
小智 8
你的问题可能已经解决了,但是为了参考,快速的叔叔谷歌答案:
function objectToArray($d) {
if(is_object($d)) {
$d = get_object_vars($d);
}
if(is_array($d)) {
return array_map(__FUNCTION__, $d); // recursive
} else {
return $d;
}
}
Run Code Online (Sandbox Code Playgroud)
全文在这里.注意我没有以任何方式与原作者联系.
投吧
$array = (array) $stdObject;
Run Code Online (Sandbox Code Playgroud)