访问变量,用变量PHP命名

时间:2013-12-03 11:11:19

标签: php arrays variables for-loop naming

我是编程新手,我从学校找到一份工作,用随机生成的数字做一个“预测”天气图。

我每天都有7个不同的数组(第1天 - >第7天)以及之后的所有代码,以检查所需的内容并创建天气图。

现在我有一个问题,我想通过1 for-loop遍历所有7个数组。我问了一个朋友,我认为这是一个很小的错误/做错了......

由于我之后已经获得了所有代码(目前已经硬编码了1天),我很高兴你能为我(我觉得糟糕的)方式提供一个解决方案,而不是一个完全不同的方式尽管它很可能更多什么都有效。

我试过这样:

for($daynr = 1; $daynr < 8; $daynr++){
    $dayZ = 'day'.$daynr;
    print_r($$dayZ);
    ...

这就像一个魅力,并给出阵列1-7。但是当我试图访问dayZ的一部分时,我被卡住了:

echo $$dayZ[0][0]

退出:

  

注意:未定义的变量:在C:\ xampp \ htdocs \ index.php中   第139行

随着后来像$temp = explode('/',$$dayZ[$region_nr][3])...这样的许多内容需要访问日期数组,为此找到解决方案会很酷。

顺便说一下,像echo $day1[0][0]之类的东西没问题。

非常感谢任何帮助,提前谢谢

祝你好运

迈克尔

2 个答案:

答案 0 :(得分:1)

更清洁的解决方案是将日期放在另一个数组中。因此,不是$day1$day2等,而是每天都有一个包含数组的数组$。

$days[0][0][0] // monday
$days[1][0][0] // tuesday
// ...

答案 1 :(得分:0)

使用

${$dayZ}[0][0]

请记住,这种变量格式不会提高可读性或良好的代码。