我不确定这是否可能,但我有一个计数器变量,每次都会增加一个。现在我在计数器上方有几个变量,它们后面有一个数字,例如
$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};
}