2011-07-02 1 views
-2

Comment puis-je désactiver cetteComment mapper des valeurs d'un tableau à utiliser dans une boucle for?

Array 
(
    [0] => feed 
    [1] => entry 
) 

dans ce:

foreach ($data->feed->entry as $item) { // Yep, we made it } 

Le premier tableau peut avoir un certain nombre de valeurs, donc la solution doit être flexible. Dogbert m'a donné une réponse parfaite, mais pour que cela soit plus clair pour l'avenir. Ce que j'ai est seulement un tableau. Basé sur ce que j'ai besoin d'obtenir tableau de l'objet. Donc, mon tableau pourrait ressembler à ceci aussi:

[0] => world 
[1] => countries 
[2] => finland 
[3] => helsinki 
[4] => people 

Et je besoin d'obtenir:

foreach ($data->world->countries->finland->helsinki->people as $item) {} 
+1

Je pense que vous devez fournir beaucoup plus d'informations. 'foreach' est pour l'itération sur les tableaux. C'est à dire. si '$ data' est ce tableau et que vous avez' foreach ($ data comme $ item) ', alors' $ item' aura les valeurs 'feed' et' entry'. Je ne vois pas comment vous voulez obtenir à partir de la structure de tableau que vous avez publiée dans '$ data-> feed-> entry'. –

+0

Quel est le problème avec cela? Pouvez-vous s'il vous plaît élaborer votre question? –

+0

J'ai essayé de garder ma question courte et directe au point. Désolé que c'était trompeur. J'ai ajouté un autre exemple juste pour le rendre plus clair. – Antti

Répondre

0
function map_property($obj, $array) { 
    $ret = $obj; 
    foreach($array as $prop) { 
    $ret = $ret->$prop; 
    } 
    return $ret; 
} 

foreach(map_property($data, array('feed', 'entry')) as $item) { } 
+0

Ah ... ça pourrait avoir du sens :) –

+0

Exactement ce que je cherchais, merci! – Antti

0

Si vous avez besoin clé => valeur en boucle faire comme ceci:

foreach ($data->feed->entry as $key=>$item) { 
// Yep, we made it 
echo 'This is key:'.$key.' this is item: '.$item; 
} 

vous obtiendrez résultat

Thi s est la clé: 0 ceci est l'article: feedThis est la clé: 1 ceci est l'article: entrée

Questions connexes