2014-10-08 5 views
-2

나는이 배열을 API를 사용하여 페이스 북에서 가져 왔습니다.PHP가 다차원을 통해 ID를 확인합니다.

다음은 체크리스트입니다.

Array 
(
    [data] => Array 
     (
      [0] => Array 
       (
        [place] => Array 
         (
          [id] => 131703340219561 
          [name] => Marrakech 
          [location] => Array 
           (
            [city] => Marrakesh 
            [country] => Morocco 
            [latitude] => 31.623668132472 
            [longitude] => -7.98555101201 
            [zip] => 40000 
           ) 

         ) 

        [id] => 10151818357364165 
        [created_time] => 2013-08-26T18:05:47+0000 
       ) 

      [1] => Array 
       (
        [place] => Array 
         (
          [id] => 143805719105986 
          [name] => WESTIVAL Music Festival -31st Jan - 3rd Feb 2013 
          [location] => Westow House 
          [start_time] => 2013-01-31T18:00:00+0000 
         ) 

        [id] => 10151702856746562 
        [created_time] => 2013-02-03T00:50:39+0000 
       ) 

배열을 검색하여 [ '장소'] ID가 있는지 확인하고 싶습니다.

어떻게하면됩니까?

+2

음 : 당신은 어떻게 배열을 반복합니까? PHP 101 – kero

+0

감사합니다 kingkero - 아직도 PHP 100.1에서 메신저 생각해. 어떤 팁? 각각을 시도했지만 couldnt 배열에 더 깊은 –

답변

0
function hasPlaceId($result, $targetId) 
{ 
    if(!array_key_exists('data', $result) 
     return false; 
    foreach($result['data'] as $value) 
    { 
     if(array_key_exists('place', $value) && array_key_exists('id', $value['place']) && $value['place']['id'] == $targetId) 
      return true; 
    } 
    return false; 
} 
+0

많이 고마워 prizma - 내게 흔적과 오류 시간을 저장 :) –

0

foreach 루프를 사용하고 거기에있는 장소와 일치하는지 확인하십시오. 예를 들어

:

foreach($aArray['data'] as $iK=> $aData){ 
    if($iK == 'place'){ 
    //do something 
    } 
    foreach($aData[$iK] as $iV =>$aData2){ 
    //do something 
    } 
} 
관련 문제