2013-08-02 1 views
0

PHP의 모든 객체를 JSON 배열에서 잡으려고하는데 [ "Elements"] 아래에 나타나는 모든 객체가 필요합니다. 그러면 어떻게 될 수 있습니까?JSON 배열의 PHP에서 "그룹"의 모든 객체 가져 오기

1.) 개체의 "이름"을 알지 못하고 그 안의 내용을 모릅니다. 2.) 내가 달성하고 싶은 것은 요소 안에 첫 번째 객체 값을 가져온 다음 이름에 관계없이 여러 내용이있을 수 있습니다 (여러 객체가있을 수 있음)

여기에 var_dump가 있습니다. JSON :

object(stdClass)#1 (1) { 
    ["Canvas"]=> 
    array(1) { 
     [0]=> 
     ["Elements"]=> 
      object(stdClass)#18 (2) { 
      ["textHolder2"]=> 
       object(stdClass)#19 (1) { 
       ["textContent"]=> 
        string(12) "Text to edit" 
       } 
      ["textHolder1"]=> 
       object(stdClass)#20 (1) { 
       ["textContent"]=> 
        string(12) "Text to edit" 
       } 
      } 
     } 
} 
} 

답변

0

foreach을 사용하십시오.

$json = json_decode($input, true); 
$elems = $json['canvas']['Elements']; 

foreach($elems as $key => $value) { 
    echo "{$key} is an array/object:\n"; 
    echo var_dump($value); 
} 

당신은 키가 $value 내부 또는 당신은,하지만 난 당신이 키 $value 될 수있는 것을 적어도 일부 단서가됩니다 다른 foreach 루프 가정입니다 수 있는지 알 필요가 있다면 당신은 array_keys()을 사용할 수 있습니다.