如何在循环中更改php变量名?

use*_*510 26 php variables loops for-loop

假设我有一个名为$ file和for循环的变量: for($i=1; $i <= 5; $i++) {}

对于for循环每次迭代中,$i值将被追加到$file变量名,以便以后的循环结束,我应该有五个变量:$file1,$file2,$file3,$file4,和$file5.

Yur*_*ken 67

使用$ {'varname'}语法:

for($i=1; $i <= 5; $i++) {
    ${'file' . $i} = $i;
}
Run Code Online (Sandbox Code Playgroud)

但是,使用数组而不是使用数组通常会更好.

  • @Yuri非常感谢你!即使在2014年,您的答案也在帮助人们! (3认同)

Ham*_*ite 13

这里一个办法做到这一点:

for($i = 1; $i <= 5; $i++) {
    ${'file'.$i} = ...;
}
Run Code Online (Sandbox Code Playgroud)

但这样做是个坏主意.为什么这是个坏主意?因为这是数组的意思.改为:

for($i = 1; $i <= 5; $i++) {
    $file[$i] = ...;
}
Run Code Online (Sandbox Code Playgroud)

(注意:通常的惯例是将数组键设置为0而不是1,但您不必这样做.)