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

2022-08-30 15:01:34

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

对于 for 循环的每次迭代,该值将附加到变量名称,因此在 for 循环结束后,我应该有五个变量:、、和 。$i$file$file1$file2$file3$file4$file5


答案 1

使用 ${'varname'} 语法

for($i=1; $i <= 5; $i++) {
    ${'file' . $i} = $i;
}

但是,通常最好使用数组而不是此数组。


答案 2

有一种方法可以做到这一点:

for($i = 1; $i <= 5; $i++) {
    ${'file'.$i} = ...;
}

但这样做是个坏主意。为什么这是一个坏主意?因为这就是数组的用途。请改为执行以下操作:

for($i = 1; $i <= 5; $i++) {
    $file[$i] = ...;
}

(注:通常的约定是从 0 而不是 1 开始数组键,但您不必这样做。


推荐