2012-06-13 82 views
2

在PHP中使用for循环可以将数字与变量名称关联吗?使用for循环php的打印名称

例如:

$name1="hi"; 
$name2="khj"; 

for($i=0;$i<=2;$i++) 
{ 
echo .. 
} 

我们如何可以打印$ NAME1和使用循环$ NAME2?

谢谢!

回答

5

是的,这叫做variable interpolation

$name1="hi"; 
$name2="khj"; 

for($i=1;$i<=2;$i++) { 
    $var = 'name' . $i; 
    echo $$var; 
} 

注:有在PHP变量插值多个语法。另外,我修改了你的循环从1开始。

5
for($i = 1; $i <= 2; $i++) 
    { 
     echo $name{$i}; 
    } 

这将是比较容易的方式把它放在一个阵列,虽然,这就是我们有他们。

$names = array(); 
    $names[1] = 'A'; 
    $names[2] = 'B'; 

    foreach($names as $name) 
    { 
     echo $name; 
    } 
+1

+1为附加阵列的例子。 –

+1

你的变量语法错误太糟糕了。 – deceze

+0

这是不熟悉的,理所当然的。 ;) – Sherlock

0

本刊NAME 1和NAME。而我值必须是从1开始

 for($i=1;$i<=2;$i++) 
     { 
     echo ${'name'.$i}."<br>"; 
     } 
+0

这不是用户所要求的。 –

+0

不要这样想。自己测试一下。正如你所说的,你的输出是'name1'和'name2'。 –

+0

如果你的答案与其他人“匹配”,为什么还要写一个新的答案。只要提出一个你认为是最好的答案。 –

3

把这个for循环:

echo ${'name'.$i}."\n"; 
2

最好使用类似: -

$names[] = $name1; 
$names[] = $name2; 

foreach($names as $name){ 
    echo $name; 
}