2010-05-20 5 views
6

Peut-être une question facile pour vous les gars. ne peut pas le trouver sur google. J'essaie de concaténer deux noms de variables;PHP concaténer variable

$i=0; 
for ($i=0;$i<5;$i++){ 
    if($array[$i]>0){ 

    $test.$i=//do something 
    }else{ 
    $test.$i=//do something 
    } 
} 

//echo $test0 gives me nothing. 
//echo $test1 gives me nothing. 

Je sais que je ne peux pas utiliser $ test. $ I mais je ne sais pas comment procéder. Merci!

Répondre

1

Cela pourrait fonctionner:

$varName = $test . $i; 
$$varName = ... 

Puis-je demander où en est neccesary?

+0

Je suis en train de boucler deux dimensions arrays..its difficile à expliquer ici, mais je dois concaténation pour obtenir ce que J'ai besoin. Merci quand même. +1 – FlyingCat

6

Essayez ceci:

for ($i=0;$i<5;$i++){ 
    $the_test = $test.$i; 
    if($array[$i]>0){ 
     $$the_test=//do something 
    } 
    else{ 
     $$the_test=//do something 
    } 
} 
+0

merci beaucoup! +1 à u. – FlyingCat

7

Je suppose que les variables sont appelées $ test0, $ test1, ..., $ test5. Vous pouvez utiliser les éléments suivants:

${"test".$i} 

Bien, pourrais-je suggérer que vous faire tester $ un tableau et utilisez $ i l'indice à la place? Il est très étrange d'utiliser $ i comme index pour parcourir une liste de noms de variables.

À titre d'exemple, au lieu de:

$test0 = "hello"; 
$test1 = "world"; 

Utilisation:

$test[0] = "hello"; 
$test[1] = "world"; 
+0

J'aime votre suggestion. J'ai déjà donné la réponse acceptée à Simon. +1 bien: D – FlyingCat