2013-05-17 5 views
0

이것은 내가 접근에 노력하고있어 출력 :이의 ID를 얻으려고stdClass 객체에서 번호가 매겨진 인덱스를 반복하는 방법은 무엇입니까?

stdClass Object 
    (
     [results] => stdClass Object 
     (
      [columns] => stdClass Object 
      (
       [name] => Name 
       [id] => id 
      ) 

      [data] => stdClass Object 
      (
       [team] => Array 
       (
        [0] => stdClass Object 
        (
         [name] => Kansas City 
         [id] => 47556332 
        ) 

        [1] => stdClass Object 
        (
         [name] => Chi White Sox 
         [id] => 03948575 
        ) 

        [2] => stdClass Object 
        (
         [name] => Detroit 
         [id] => 3747646625 
        ) 
       )  
      ) 
     ) 
    ) 
) 

,하지만 나는 0+ 후 아무것도 접근과 문제로 실행 해요. 나는 두 개의 foreach 루프를 가지고 있는데, 왜냐하면 이름과 ID를 반복하여 테이블에 배치해야하기 때문입니다.하지만 아무런 문제가 없습니다. 나는 [0] 안에있는 것이 무엇이든간에 얻을 필요가있다. 0을 어떻게 참조할까요?

foreach ($data->results->data->team as $team_data) { 
    foreach ($team_data->THE ID/NUMBER->name as $team_id) { 
     #code... 
    } 
} 

위 코드를 수행하면 너무 많은 오류가 발생합니다. 나는 다른 방법을 시도하고의 형태로 오류가 점점 계속했습니다

Notice: Undefined property: stdClass::$0 in index.php on line 61 Notice: Trying to get property of non-object in index.php on line 61 

이 오류는 $ id를 시도하는, 그리고 $ ID는 ++ 번호가 매겨진 부분을 얻을 수 있습니다. 이 질문 전에 요청 받았다 알고 있지만, 분명히

$team_data->{'0'}->name 

단지 하나 일 것입니다 때문에, 그냥 공을 여러 번호를 통과하지해야하지만 나는 오류도 그렇게하려고 노력 얻을, 나는 필요 0, 1, 2 등

답변

1

을 얻기 위해 나는

foreach ($data->results->data->team as $team_id => $team_data) { 
    // $team_id holds the index of the teams array 
    echo $team_id; 
    echo $team_data->name; 
    echo $team_data->id; 
} 
+0

오 촬영. 나는 항상 이런 일들을 너무 많이 생각하는 경향이 있습니다. 고맙습니다. –

+0

foreach ($ array AS $ key => $ value) 따라서 $ 키는 '번호가 지정된 부분'이고 $ 값은 포함 된 값입니다. – Kevin

0

$의 team_data 이미의 이름과 ID를 가지는 객체이다 .. 당신이 솔루션을 지나친 것 같아요. 따라서 두 번째 foreach을 건너 뛰고 $ team_data [ 'id'] 및 $ team_data [ 'name']에 직접 액세스하십시오