如何将一个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
维数组。
我猜你有这样的事情:
<?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));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句