2011-06-09 91 views
1

我想创造的财产以后像100 VAR的,他们的名字将是:建立VAR与他人

$numbr_1 = 1; 
$numbe_2 = 2; 
$number_3 = 3; 
... 

我不会写100个瓦尔当然的,但有一种方法与福尔环或做财产以后?我想这个问题:

for ($i = 1; $i <= 100; $i++) 
$number_{$i} = $i; 
+2

我会这么说,因为我的朋友,我不希望你要处理的是什么,你的后果”重试:当你可以创建一个包含多个值的单个数组时,不要创建数百个含糊不清的命名变量。 – 65Fbef05 2011-06-09 21:28:08

+0

这只是一个有趣的问题,我不会使用它,但我只是想要如何去做。谢谢。 – Luis 2011-06-09 21:32:18

+0

在这种情况下,请按照@Marc B关于'变量变量'的链接来完整地了解它们的工作方式。 – 65Fbef05 2011-06-09 21:36:43

回答

4

你说的是variable variables,它们是令人难以置信的愚蠢使用。首先,他们使调试几乎不可能。

你想要的是一个数组:

for ($i = 1; $i <= 100; $i++) { 
    $numbers[$i] = $i; 
} 
+0

谢谢。编辑:顺便说一下,它只是一个问题,我不会使用它(变量变量),只知道如何去做。 – Luis 2011-06-09 21:32:59

+0

变量变量有时需要廉价的反射,但在这种情况下,我猜不是。 – 2011-06-09 21:37:10

2

像这样的东西应该工作:

for($i = 1 ; $i <= 100 ; $i++){ 
    $var_name = "number_$i"; 
    $$var_name = $i; 
} 
1

你为什么不使用数组?

$number = array(); 
for ($i = 0; $i < 100; $i++) 
{ 
    $number[] = $i; 
} 
2
for($i=1;$i<=100;$i++) { 
    $j="number$i"; 
    $$j = $i; 
} 
+0

-1。这是PHP中的一个扁平语法错误。 – 2011-06-09 21:26:27

+0

@马克乙:对不起,我修好了。 – 2011-06-09 21:27:43

0

可能的解决方法是阵列的使用。

$number = array(); 
for ($i = 1; $i <= 100; $i++) { 
    $number[$i] = $i; 
} 
1
 for($i = 1 ; $i <= 100 ; $i++){ 
      ${'number_'.$i} = $i; 
     }