2014-01-04 4 views
-2

У меня есть следующий результат от аутентичности профиля Facebook:Merge/комбинирование ключи массива

Array 
(
    [provider] => Facebook 
    [uid] => value 
    [info] => Array 
     (
      [name] => value 
      [image] => value 
      [nickname] => value 
      [first_name] => value 
      [last_name] => value 
      [location] => value 
      [urls] => Array 
       (
        [facebook] => value 
       ) 

     ) 

    [credentials] => Array 
     (
      [token] => SECRET 
      [expires] => value 
     ) 

    [raw] => Array 
     (
      [id] => value 
      [name] => value 
      [first_name] => value 
      [last_name] => value 
      [link] => value 
      [username] => value 
      [location] => Array 
       (
        [id] => value 
        [name] => value 
       ) 

      [education] => Array 
       (
        [0] => Array 
         (
          [school] => Array 
           (
            [id] => value 
            [name] => value 
           ) 

          [concentration] => Array 
           (
            [0] => Array 
             (
              [id] => value 
              [name] => value 
             ) 

           ) 

          [type] => value 
         ) 

       ) 

      [gender] => value 
      [timezone] => value 
      [locale] => value 
      [verified] => value 
      [updated_time] => value 
     ) 

) 

Проблема мне нужно только следующие клавиши:

[provider] => value 

[info][image] => value 

[credentials][token] => value 

[raw][id] => value 
[raw][name] => value 
[raw][link] => value 

Как я могу объединить/объединить и вывести только те ключи?

+1

Что вы используете для вывода сейчас? Вы можете просто _ignore_ вещи, которые вам не нужны. –

+0

Очень верно. Но я думаю, что это сделает вывод более читаемым для меня. –

+1

Но вот что, я спрашиваю. Если вы знаете, какие ключи нужны, вы можете построить с ними новый массив, если нужно. '$ your_array = array ('provider' => $ original ['provider'], 'image' => $ original ['info'] ['image'] ... и т. д.);' –

ответ

0

Предлагается Майклом Берковски в приведенных выше комментариях.

foreach ($response as $result) { 

    $data = 
     array(
      'provider' => $result['provider'], 
      'image' => $result['info']['image'], 
      'token' => $result['credentials']['token'], 
      'id' => $result['raw']['id'], 
      'name' => $result['raw']['name'], 
      'link' => $result['raw']['link'], 
     ); 

} 
Смежные вопросы