以下代码或多或少是我的代码的一部分。 $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上的其他帖子,但是没有任何意义。
答案 0 :(得分:1)
然后把它作为答案!
$$servername[]
似乎是个问题。它将其解释为${$servername[]}
,您希望将其解释为$ {$ servername} []。
尝试将那些花括号放在那里,看看是否有帮助。