2014-10-08 2 views
-2

Я вытащил этот массив из facebook с помощью api,php loop через многомерную проверку для 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 
       ) 

Я хочу выполнить поиск по массиву и проверить наличие ['place'] id.

Как мне это сделать?

+2

Ну: Как вы перебрать массив? PHP 101 – kero

+0

спасибо kingkero - подумайте, что я все еще на php 100.1. Какие-нибудь советы? пробовал для каждого, но не мог глубже проникнуть в массив –

ответ

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

спасибо много и много призмы - спаси меня часы следа и ошибки :) –

0

использовать цикл foreach и проверять идентификатор, если он совпадает с местом, где вы находитесь.

, например:

foreach($aArray['data'] as $iK=> $aData){ 
    if($iK == 'place'){ 
    //do something 
    } 
    foreach($aData[$iK] as $iV =>$aData2){ 
    //do something 
    } 
} 
Смежные вопросы