[英]getting really annoying error: “Fatal error: Cannot use string offset as an array in…”
我如何擺脫這個錯誤?
碼:
function get_green_entities($c,$array){
$thisC = &$this->output[$this->sessID];
$timeDif = 4;
$cols = count($thisC['clientCols'])+1;
if(!isset($array['Entity ID'])){
return get_grey($c);
}
if(!isset($thisC['CURRTIME'][$array['Entity ID']])){
$thisC['CURRTIME'][$array['Entity ID']] =
(isset($array['timestamp'])?$array['timestamp']:null);
}
}
我在最后一個if語句行中遇到該錯誤:
$thisC['CURRTIME'][$array['Entity ID']] =
(isset($array['timestamp'])?$array['timestamp']:null);
而且我知道$array['Entity ID']=4
我該如何解決?
謝謝 :-)
更新3
我刪除了轉儲,因為它們有點敏感
只有三種可能性: $thisC
, $thisC['CURRTIME']
或$array
不是數組...
您可以更改功能簽名以防止后者:
function get_green_entities($c, array $array)
如果$array
是問題,則在調用該函數時將觸發它。 因此,如果問題仍然存在,您現在知道它與$thisC
。
在錯誤發生之前在行上調用var_dump
可以使問題很明顯。
考慮以下行為:
$array = 'test';
if (!isset($array['foo']['bar']))
$array['foo']['bar'] = true; // error is triggered here
因此,我認為問題在於$thisC['CURRTIME']
並不總是像您期望的那樣是一個數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.