2010-07-19 5 views
0

J'ai un objet tableau multidimensionnel, et dans une boucle je voudrais ajouter un itérateur à la clé et obtenir la valeur. Exemple de code pour la démonstration:PHP: Est-il possible d'ajouter par programme la valeur de l'itérateur au nom de la clé du tableau en boucle?

$array_object->example1 = 1; 
    $array_object->example2 = 2; 


$i = 1; 

while ($i <= 2) { 

     echo ($array_object->example . $i); //this does not work 
     //how to accomplish same? 
     $i++ 
    } 

Merci d'avance pour toute suggestion.

Répondre

6

Je pense que variable variables va résoudre votre problème, immédiatement:

$example = "example" . $i; 
echo $array_object->$example; 

Mais vous voudrez peut-être envisager de faire $array_object->example un tableau et d'y accéder comme:

echo $array_object->example[$i]; 
+0

Merci, cela fonctionne. – netefficacy

2
$n = "example" . $i; 

echo $array_object->$n; 
+1

hanks cela fonctionne. – netefficacy

1

Oui, mais vous devez d'abord configurer la variable avant d'utiliser l'opérateur ->

while ($i <= 2) { 
     $property = 'example' . $i; // or "example$i", whichever you prefer 
     echo ($array_object->$property); 
     $i++ 
    } 

EDIT: Je suis sacrément lent ... lui répondre

+0

Merci cela fonctionne. – netefficacy

9

echo $array_object->{'example' . $i};

+0

C'est la bonne façon de le faire, IMO. Idem pour les clés de tableau. – JAL

+0

Merci cela fonctionne. – netefficacy

Questions connexes