2016-10-16 2 views
0

아래는 내가 지금까지 컴파일 한 배열의 예입니다. 내가 페이스 북의 그래프 API를 호출에서 배열을 생성하고 배열을 각 배열을 제거하려는 그래서 나는 단지 데이터 배열 아래에 하나의 목록이 있습니다. 가급적이면 동적 솔루션이 필요합니다. 각 API 요청에서 둘 이상의 [0] => Array, [1] => Array 등이 될 수 있습니다.이 배열을 병합하거나 키를 제거하는 방법

stdClass Object 
(
    [data] => Array 
     (
      [0] => Array 
       (
        [0] => stdClass Object 
         (
          [id] => 21744379694_10154626935079695 
          [created_time] => 2016-10-16T06:29:28+0000 
          [from] => stdClass Object 
           (
            [name] => Tony Hawk 
            [id] => 21744379694 
           ) 
         ) 
       ) 

      [1] => Array 
       (
        [0] => stdClass Object 
         (
          [id] => 50043151918_10154176205946919 
          [created_time] => 2016-10-15T20:04:22+0000 
          [from] => stdClass Object 
           (
            [name] => GoPro 
            [id] => 50043151918 
           ) 

         ) 
       ) 
     ) 
) 

궁극적으로이 어레이를 궁금해합니다. 가장 좋은 방법은 무엇입니까?

stdClass Object 
(
    [data] => Array 
     (
      [0] => stdClass Object 
       (
        [id] => 21744379694_10154626935079695 
        [created_time] => 2016-10-16T06:29:28+0000 
        [from] => stdClass Object 
         (
          [name] => Tony Hawk 
          [id] => 21744379694 
         ) 
       ) 
      [1] => stdClass Object 
       (
        [id] => 50043151918_10154176205946919 
        [created_time] => 2016-10-15T20:04:22+0000 
        [from] => stdClass Object 
         (
          [name] => GoPro 
          [id] => 50043151918 
         ) 

       ) 
     ) 
) 
+1

공유 연구 모두 도움이됩니다. 귀하가 무엇을 시도했는지 그리고 왜 이 귀하의 필요를 충족시키지 않았는지 저희에게 알려주십시오. 이것은 당신이 자신을 돕기 위해 시간을 보냈다는 것을 보여줍니다. 확실한 대답을 되풀이하지 말고, 그리고 그 중에서도 가장 구체적이고 관련성있는 답변을 얻는 데 도움이됩니다. [ask]도 참조하십시오. – RamenChef

답변

2

데이터가 변수 $data에 저장되어 가정하면이 작업을 수행 할 수 있습니다

foreach($data->data as &$el) { 
    $el = $el[0]; 
} 

지금 포장 배열이 제거되었습니다.

은 당신이 사용할 수 eval.in

+0

이것은 배열 중 하나를 위해 그것을 할 것이지만 두번째는 아닙니다, 나는 그것이 나머지를 얻으려면 카운트 또는 뭔가를 필요로한다고 생각합니다. – SlickRemix

+0

무슨 뜻인지 확실하지 않습니다. 귀하의 예제 배열에서 이것을 테스트했는데 출력물은 잘 보입니다 : [eval.in] (https://eval.in/663207). 질문을 편집하고 원하는대로 작동하지 않는 샘플 배열을 제공 할 수 있습니까? 하나의 요소가있을 때마다 배열 레이어를 제거하는 알고리즘은 "위험"합니다. 일반적으로 요소가 더 많은 배열과 관련 될 수 있지만 특정 경우에 요소가 하나만있는 경우가 있습니다. 당신이 얻을 수있는 구조를 확신 할 수 없기 때문에 인생을 복잡하게 만들 것입니다. – trincot

+0

아, 문제는 내 foreach 루프에서 약간 다릅니다. 이 경우 정답입니다. 도와 주셔서 감사합니다! – SlickRemix

0

에서 실행을 참조하십시오 :

if ($data && $data->data){ $new = array_values($data->data); }