2010-05-27 197 views
3

我得到的100-200规则的代码制作一个表格。但整个过程都是一样的。 我得到了一个变量$ xm3,然后我做了一列。下一行,我得到了$ xm2并创建了列。下一行,我得到了$ xm1并制作专栏。PHP for循环的变量名

所以我的变量要$ XM3,$ XM2,$ XM1,$ xm0,$ XP1,XP2 $,$ XP3。

有没有办法做一个for循环,所以我可以填补$ XM和for循环后的值?

+0

能否请您发表您的代码,以便我们可以得到你想要达到什么更好的主意。谢谢。 – 2010-05-27 15:48:41

+3

您可以像$ x ['m'] [2]'那样访问的数组听起来更合理。 – VolkerK 2010-05-27 15:50:13

回答

0

为此,您可以使用可变的变量,但通常你最好做这样的事情在一个数组来代替。

如果你是积极的,你想这样做,这样一来,如果“Y”是你的计数器在for循环的价值:

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

我不认为你可以用'$$ var'以外的任何其他方式使用变量变量。 – Tgr 2010-05-27 15:53:02

+1

这更直接地回答了这个问题,但作为开发人员,我强烈建议您选择其他人建议的数组方法。 – AvatarKava 2010-05-27 15:53:43

+2

@Tgr - 更新语法我张贴应该工作 - 没有任何一个好主意,虽然:) – AvatarKava 2010-05-27 15:55:09

1

据我所知,使用不同的变量名不可能。

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

编辑:只是一派,这是可能的,如果你使用数组,从而下面

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

或只是$xm[] = "";

然后你可以使用每个循环

然而使用变量名称,但被认为是不好的做法。学习和使用数组!

+1

可变变量(如已知的)确实有一些用途。但我同意用它们来模拟类似数组的行为不是其中之一。 – 2010-05-27 15:58:47

+0

你想什么时候使用它们?只是出于兴趣? – 2010-05-27 18:36:18

2

这是不完全清楚你的要求,但你可以在PHP做

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

,这样你就可以通过具有类似名称的变量循环。 (这并不意味着你应该。使用数组通常是一个更好的选择。)

3

在这种结构中,你会更好使用这类值的数组,但如果你想一环通过他们去:

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

} 
0

您可以轻松地做这样的事情:

$base_variable = 'xm'; 

,然后你可以做一个循环动态创建的变量; 例如:

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