2014-06-10 5 views
0

Disons que j'ai un tableau formaté comme ceci:Accès tableau multidimensionnel sans boucles multiples

$data = array(
     'variables' => array(
      '823h9fhs9df38h4f8h' => array(
       'name' => 'Foo', 
       'value' => 'green' 
      ), 
      'sdfj93248fhfhf88rh' => array(
       'name' => 'Bar', 
       'value' => 'red' 
      ) 
     ) 
    ); 

Dire que je voulais accéder au nom & valeurs de chaque tableau dans le tableau de variables. Sûrement vous pouvez y accéder juste en boucle sur le tableau de variables principal et ne pas boucler sur chaque tableau d'éléments individuels? Quelque chose comme ça?

foreach ($data as $k => $v) { 
    $name = $data['variables'][0]['name']; 
} 

Je suis sûr que je manque quelque chose de simple ...

+0

Il n'y a pas de données '$ [ 'variables'] [0]', si vous ne connaissez pas les clés alors vous devez faire une boucle dans une boucle, si vous connaissez déjà les clés que vous n'avez pas –

+0

Comme la clé est stockée dans $ k, pourquoi ne pas utiliser: '$ data [' variables '] [$ key] [' name '] ' –

+0

thats la clé pour le tableau externe –

Répondre

2

Vous pouvez faire

foreach ($data['variables'] as $k => $v) { 
    $name = $v['name']; 
} 
+0

Cela fonctionne très bien :) –

+0

bien si je savais que c'était ce que vous demandiez ... :-) –