当我在elementor中添加选择表单字段并尝试保存时,我收到一条错误消息。下面的代码就是问题所在
private function maybe_truncate_log() {
/** @var Log_Item[] $log */
$log = $this->get_log();
if ( Log_Item::MAX_LOG_ENTRIES < count( $log ) ) {
$log = array_slice( $log, -Log_Item::MAX_LOG_ENTRIES );
}
return $log;
}
答案 0 :(得分:0)
当您的数组$log
有时为空或为null时,会发生此错误,因此您应在count
函数中使用它之前进行检查。检查下面的代码。
if(!empty($log)){
if ( Log_Item::MAX_LOG_ENTRIES < count( $log ) ) {
$log = array_slice( $log, -Log_Item::MAX_LOG_ENTRIES );
}
}
答案 1 :(得分:0)
$log = $this->get_log();
$log = json_decode(json_encode($log), true);
这会将$ log从对象转换为数组。
答案 2 :(得分:0)
您的问题是不言而喻的,为了简单起见,这是应该起作用的代码:
private function maybe_truncate_log() {
/** @var Log_Item[] $log */
$log = $this->get_log();
if(is_array($log)){
if ( Log_Item::MAX_LOG_ENTRIES < count( $log ) ) {
$log = array_slice( $log, -Log_Item::MAX_LOG_ENTRIES );
}
}
return $log;
}