我使用compact创建了一个数组:
$rank_month = compact('jan','feb','mar');
像这样,数据将使用查询获取,因为数据有时会为空,数据将是数字。
然后我使用max(array_filter) and min(array_filter)
获取数组中的最高和最低,但当查询为空时我得到了
错误:max():数组必须包含至少一个元素
错误:Min():数组必须包含至少一个元素
是否可以像以下一样对其进行调节:
if(empty(max(array_filter('$rank_month')))){
$high = ""; }
else{
$high = max(array_filter('$rank_month'
}
或者他们以任何方式解决此错误?即使数据是空的
感谢。
答案 0 :(得分:3)
当您真正想要数组时,您正在传递font-size
字符串 。 array_filter
是一个11个字符的字符串,它不是数组。
您希望确保将数组传递给'$rank_month'
(以及array_filter
和min
)。
您还需要在调用max
/ min
之前检查已过滤的数组的长度。
max
答案 1 :(得分:1)
简单地说错误是什么:$ rank_month是一个空数组 使用sizeof或count
if (sizeof($rank_month) > 1) {
$high = max($rank_month);
} else {
...
}
或者
if (count($rank_month) > 1) {
$high = max($rank_month);
else {
...
}
答案 2 :(得分:0)
您需要检查Array
是否为空,而不是max
值是否为空。
您也不需要传递array_filter
,数组本身应该可以工作。
if(empty($rank_month)){
$high = "";
} else {
$high = max($rank_month);
}