簡體   English   中英

越來越令人討厭的錯誤:“致命錯誤:無法在…中使用字符串偏移量作為數組”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM