我如何摆脱这个错误?
代码:
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 我删除了转储,因为它们有点敏感
答案 0 :(得分:1)
只有三种可能性$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']
并不总是像你期望的那样。