1

我对变量变量有点困惑。

我喜欢做的是打印 $var1、$var2 和 $var3 的值:

$var1 = 'a';
$var2 = 'b';
$var3 = 'c';

$i = 1;

while ( $i <=3 ) {
    echo $var.$i;
    $i++;
}

我知道$var.$i; 不正确,但我认为它表明了我想要实现的目标;while 循环应将其更改为 $var1、$var2 和 $var3;

我尝试了以下方法:

$var1 = 'a';
$var2 = 'b';
$var3 = 'c';

$i = 1;

while ( $i <=3 ) {

    $current_var = 'var'.$i;
    $current_var = $$current_var;

    echo $current_var;

    $i++;
}

但这不起作用。我认为是因为 $var1、$var2 和 $var3 是在 while 循环中重新创建的,而不是使用实际值。不知道这是否正确,但这是我唯一能想到的。

4

3 回答 3

4

试试这个:

echo ${"var".$i};

花括号可以解析为变量名,而无需使用美元-美元方法。

请参阅:PHP 中的变量

于 2013-04-04T04:06:02.333 回答
2

试试这个。

<?php
$var1 = 'a';
$var2 = 'b';
$var3 = 'c';

$i = 1;
while ( $i <=3 ) {

    echo ${'var'.$i};

    $i++;
}
?>
于 2013-04-04T04:07:17.860 回答
0

您是否正在尝试做这样的事情。然后使用array

$my_data = array();
$my_data[1] = 'a';
$my_data[2] = 'b';
$my_data[3] = 'c';

// Method 1
$i = 1;
while ($i <= 3) {
  echo $my_data[$i];
  $i++;
}

// Method 2
foreach ($my_data as $data) {
  echo $data;
}

// 输出

abc

abc
于 2013-04-04T04:17:59.790 回答