如何将double
std类对象(即stdclass对象中又包含stdclass对象)转换为数组?
我有用户类型;转换它只转换单个对象但内部对象保持相同。
数据:
Array ( [activities] => Array ( ) [goals] => stdClass Object (
[activeMinutes] => 30 [caloriesOut] => 3355
[distance] => 8.05 [steps] => 10000 )
[summary] => stdClass Object ( [activeScore] => -1 [activityCalories]
=> 1472 [caloriesBMR] => 2074 [caloriesOut] => 3308
[distances] => Array ( [0] => stdClass Object ( [activity] => total [distance] => 8.46 ) [1] => stdClass
Object ( [activity] => tracker [distance] => 8.46 )
[2] => stdClass Object (
[activity] => loggedActivities [distance] => 0 )
[3] => stdClass Object (
[activity] => veryActive [distance] => 2.35 )
[4] => stdClass Object (
[activity] => moderatelyActive [distance] => 1.63 )
[5] => stdClass Object (
[activity] => lightlyActive [distance] => 4.48 )
[6] => stdClass Object ( [activity] => sedentaryActive [distance] => 0 ) )
[fairlyActiveMinutes] => 32
[lightlyActiveMinutes] => 194 [marginalCalories] => 867 [sedentaryMinutes] =>
1125 [steps] => 11446 [veryActiveMinutes] => 31 ) )
此数据在数组中有stdclass
个对象,如何将其转换为数组,并将其作为double
维数组整体制作。
答案 0 :(得分:0)
我猜你有类似的东西:
<?php
$a = [
'foo' => (object)[
'id' => 1,
'name' => 'foo',
],
'bar' => (object)[
'id' => 2,
'name' => 'bar',
'nested' => (object)['status' => 'ok'],
],
];
var_export($a);
结果:
array (
'foo' =>
stdClass::__set_state(array(
'id' => 1,
'name' => 'foo',
)),
'bar' =>
stdClass::__set_state(array(
'id' => 2,
'name' => 'bar',
'nested' =>
stdClass::__set_state(array(
'status' => 'ok',
)),
)),
)
你试着收到类似的东西:
array (
'foo' =>
array (
'id' => 1,
'name' => 'foo',
),
'bar' =>
array (
'id' => 2,
'name' => 'bar',
'nested' =>
array (
'status' => 'ok',
),
),
)
所以最好的方法就是提到@MineshPatel使用下一个代码:
var_export(json_decode(json_encode($a), true));