2013-05-06 88 views
0

下面的代码或多或少是我的代码块。 $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;

我想不出什么我做错了。我已经检查过与其他同样错误的帖子,但没有任何意义。

+2

'$$ servername []'可能是问题。它可能在'$ {$ servername []}'中解释它,你想把它解释为'$ {$ servername} []'。尝试将那些花括号放在那里,看看是否有帮助。 – 2013-05-06 15:39:32

+0

我跑了乔的建议,它似乎解决了你的错误。 – abathur 2013-05-06 15:45:23

+0

它修复了它 - 谢谢! 我有一个类似的问题,进一步下来不完全相同的代码,但我现在正在玩它,看看我是否也可以弄明白。 – 2013-05-06 15:50:53

回答

1

把它当成答案吧!

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

尝试把那些大括号在那里,看看有没有什么帮助。

相关问题