2016-06-02 3 views
2

double std 클래스 객체 (예 : stdclass 객체가 다시 stdclass 객체가있는 stdclass 객체)를 배열로 변환하는 방법은 무엇입니까?중첩 된 stdclassobject를 2 차원 배열로 변환

사용자 유형이 있습니다. 캐스팅은 단일 오브젝트 만 변환했지만 내부의 오브젝트는 동일하게 유지되었습니다.

데이터 :

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)) 

이 데이터 배열로 또한 변환하고 double 차원 어레이로서 전체적으로이를 만드는 방법 배열 내부 stdclass 목적으로한다.

<?php 
$a = [ 
    'foo' => (object)[ 
     'id' => 1, 
     'name' => 'foo', 
    ], 
    'bar' => (object)[ 
     'id' => 2, 
     'name' => 'bar', 
     'nested' => (object)['status' => 'ok'], 
    ], 
]; 
var_export($a); 

결과 :

+1

서식을 수정하십시오. – Will

+0

시도해보십시오. json_decode (json_encode ($ yourArray), 1); –

+0

내 서식을 수정하는 방법 ????? 실제로 배열을 사용하여 foreach 데이터를 인쇄 할 싶었지만 그들은 또한 typecasting 수행 할 때 배열로 변환 점점 classobjects 있습니다. 내 질문에 해당하는 배열로 중첩 된 개체 구조를 변환하는 방법입니다 차원의). – roopteja

답변

0

난 당신이 뭔가가 생각

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)); 
+0

고마워요, 그 작업 .......하지만이 배열을 인쇄 할 때 배열에 문자열을 변환 할 수 없습니다 (이것은 내가 인쇄 오전 주 배열 내부에 있기 때문에 배열입니다.) 해결 방법 이??? – roopteja