不能将字符串偏移量用作数组(这是什么意思?)

时间:2013-05-06 15:33:10

标签: php

以下代码或多或少是我的代码的一部分。 $servername$monthlyincome变量实际上并不是静态的,如此处所示,但我更改了它们,因此我可以在这里添加更少的代码。

如果我运行此代码......

$servername="Server1";

$months = array('January','February','March','April','May','June','July','August','September','October','November','December');


for ($i=0;$i<=24;$i++) {
    $new_time = mktime(0,0,0,date("m")+$i,1,date("Y"));
    $months_array[date("Y",$new_time)][date("m",$new_time)] = "x";
}

$overallincome = 0;

foreach ($months_array AS $year=>$month) {
    foreach ($month AS $mon=>$x) {
        $monthlyincome = 3;
        $overallincome += $monthlyincome;

        $$servername[$months[$mon-1]." ".$year]['monthlyincome']=$monthlyincome;
        $$servername[$months[$mon-1]." ".$year]['overallincome']=$overallincome;

    }
}

我收到此错误...

不能在第123行使用字符串偏移作为数组

第123行是这一行...... $$servername[$months[$mon-1]." ".$year]['monthlyincome']=$monthlyincome;

我无法弄清楚我做错了什么。我已经检查过SO上的其他帖子,但是没有任何意义。

1 个答案:

答案 0 :(得分:1)

然后把它作为答案!

$$servername[]似乎是个问题。它将其解释为${$servername[]},您希望将其解释为$ {$ servername} []。

尝试将那些花括号放在那里,看看是否有帮助。