- 普通 - 未处理
一个NOTIC级别的小BUG,错误提示 NOTIC: [8] Array to string conversion Db.class.php 第 517 行. 出现的原因:
使用 $map 数组进行作为条件进行查询时,例如
$start_date = '2010-08-06';
$end_date = '2010-09-06';
$map['duty_time'] = array(array('egt',$start_date),array('elt',$end_date));
---- Db.class.php ---- [line 516-522]
$count = count($val);
if(in_array(strtoupper(trim($val[$count-1])),array('AND','OR','XOR'))) {
$rule = strtoupper(trim($val[$count-1]));
$count = $count -1;
}else{
$rule = 'AND';
}
----
通过源码可以看出问题出在 trim($val[$count-1]) 这里
函数 trim() 接收的参数应该是字符串string,而非数组array
如何避免这个问题呢?
在最后加上这个默认的条件即可。
$map['duty_time'] = array(array('egt',$start_date),array('elt',$end_date),'AND');
