首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在循环中更改php变量名?

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

Stack Overflow用户
提问于 2011-06-04 13:13:26
回答 3查看 51.6K关注 0票数 29

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

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-04 13:17:05

使用${'varname'} syntax

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

但是,使用数组通常比使用数组更好。

票数 74
EN

Stack Overflow用户

发布于 2011-06-04 13:19:43

可以做你想做的事情,但是动态创建变量似乎是一种不寻常的方式来解决这样的问题(我可能错了)。

我建议将文件名存储在数组中,这样您以后就可以轻松地迭代文件,或者添加一个额外的文件而不必更改任何硬编码的变量名

    $myfiles = array();

    for ($i=1; $i<=5; $i++) {
       $myfiles["file$i"] = "value set in loop";
    }

    //if you want to use the values later
    $file5_value = $myfiles["file5"];

    //if you want to loop through them all
    foreach ($myfiles as $key => $val) {
      echo "$key -> $val\n";
    }
票数 4
EN

Stack Overflow用户

发布于 2011-06-04 13:18:55

您也可以使用数组。它没有完全相同的效果,但它通常是我在这些情况下使用的。

for($i=1; $i <= 5; $i++) {
    $file[$i] = $i;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6234864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档