2010-05-27 4 views
3

J'ai obtenu un code de 100-200 règles pour faire une table. mais tout le temps passe pareil. J'ai une variable $ xm3, puis je fais une colonne. Au rang suivant, j'ai $ xm2 et fais la colonne. la rangée suivante, j'ai $ xm1 et fais la colonne. Donc mes variables vont à $ xm3, $ xm2, $ xm1, $ xm0, $ xp1, $ xp2, $ xp3.php pour les noms de variables de boucle

Y at-il un moyen de faire un forloop afin que je puisse remplir $ xm et après cela une valeur de la boucle for?

+0

Pourriez-vous s'il vous plaît envoyer votre code afin que nous puissions avoir une meilleure idée de ce que vous essayez d'atteindre. Merci. –

+3

Un tableau auquel vous pouvez accéder comme '$ x ['m'] [2]' semble plus raisonnable. – VolkerK

Répondre

0

Vous pouvez le faire en utilisant des variables variables, mais généralement, vous feriez mieux de faire ce genre de chose dans un tableau à la place.

Si vous êtes sûr que vous voulez faire de cette façon, et si « y » est la valeur de votre compteur dans la boucle:

${'xm' . $y} = $someValue; 
+1

Je ne pense pas que vous puissiez utiliser des variables variables d'une autre manière que '$$ var'. – Tgr

+1

Cela répond plus directement à la question, mais en tant que développeur, je vous encourage fortement à opter pour la méthode tableau proposée par d'autres. – AvatarKava

+2

@Tgr - la syntaxe mise à jour que j'ai posté devrait fonctionner - ne fait pas une bonne idée, bien que :) – AvatarKava

1

Pour autant que je suis au courant en utilisant différents noms de variables n'est pas possible.

Toutefois, si vous utilise des tableaux de manière ci-dessous

$xm[3] = ""; 
$xm[2] = ""; 
$xm[1] = ""; 
$xm[0] = ""; 

ou tout simplement $xm[] = "";

Ensuite, vous pouvez utiliser une pour chaque boucle:

foreach($xm as $v) { echo $v; } 

Edit: Juste googlé et cela est possible utiliser des noms de variables mais est considéré comme une mauvaise pratique. Apprenez et utilisez des tableaux!

+1

Les variables variables (comme elles sont connues) ont quelques utilisations. mais je suis d'accord que les utiliser pour émuler le comportement comme un tableau n'est pas l'un d'entre eux. –

+0

Quand voudriez-vous les utiliser? Juste par intérêt? –

2

Il n'est pas tout à fait clair ce que vous demandez, mais vous pouvez faire

$xm = 'xm3'; 
$$xm // same as $xm3 

en PHP, vous pouvez parcourir les variables avec des noms similaires. (Ce qui ne veut pas dire que vous devriez utiliser un tableau est généralement une alternative supérieure.)

3

Dans ce type de structure, vous feriez mieux d'utiliser un tableau pour ce genre de valeurs, mais si vous voulez faire une boucle de passer par eux:

for($i = 0; $i <= 3; $i++) { 
    $var = 'xm' . $i 
    $$var; //make column stuff, first time this will be xm0, then xm1, etc. 

} 
0

vous pouvez facilement faire quelque chose comme ceci:

$base_variable = 'xm'; 

et vous pouvez faire une boucle créer à la volée les variables; par exemple:

for ($i=0; $i<10; $i++) 
{ 
    $def_variable = $base_variable . $i; 
    $$def_variable = 'value'; //this is equivalent to $xm0 = 'value' 
} 
Questions connexes