PHP 用变量制作一个变量



我不确定这是否可能,但我有一个计数器变量,每次都会增加一个。现在我在计数器上方有几个变量,它们后面有一个数字,例如

$var1=...
$var2=...
$var3=...

现在在计数器内部,我希望变量后面的数字随着计数器变量的增加而增加......

所以喜欢

for ( $counter = 1; $counter <= 3; $counter += 1) {
  $var=$var$counter;
}

我不想要的是一个字符串,我只想要一个变量后面的数字,每次计数器变量上升一个时都会改变。

称为变量变量。每当您考虑使用数组时,请意识到您应该使用数组。

不确定没有字符串是什么意思,但这应该可以做到。

for ( $counter = 1; $counter <= 3; $counter += 1) {
   $varName = 'var' . $counter;
   $var=$$varName;
}

但我同意应该使用不同的方法(数组)。

你想用这个做什么?

我问是因为看起来你最好使用数组来实现你想要的东西。然后你可以做这样的事情:

for ( $counter = 1; $counter <= 3; $counter += 1) {
  $var[$counter] = $value;
}
您需要

将该代码更改为以下内容:

for ( $counter = 1; $counter <= 3; $counter += 1) {
  ${"var".$counter} = $var;
}

将字符串括在大括号中允许您使用它来动态创建变量名称,因此我们只需将"var"与计数器值连接起来,然后将其用作新的变量名称。

但是,请注意,这样做将在此过程中创建和初始化所有变量......因此,在此示例中,最终将得到 $var、$var 1 和 $var 2 都等于相同的值。如果这不是你想要的,你将不得不取消设置()所有你不需要的变量。

但是,另请注意,在大多数情况下,这不是"最佳实践"。请问你为什么需要这样做?也许数组会更合适。

你可以这样做,但不建议这样做。

它看起来像这样:

for ( $counter = 1; $counter <= 3; $counter += 1) {
    $var = ${'var' . $counter};
}

相关内容

  • 没有找到相关文章

最新更新