我按照$referrals
值排序了一些帖子,这些值总是一个数字。很快,由于帖子不包含值,或者值为0
,因此不会显示帖子。
我想更改此内容并显示包含值0
的帖子。我猜它在这里被过滤了:
$referrals = ( empty( $referrals ) ) ? 0 : $referrals;
我该怎么改变?阅读empty
我已经了解到它检查是否有空,未定义或为空,如果是这样,则返回true
。所以我想我再也不能使用empty
了?
答案 0 :(得分:1)
你可以试试这个:
$referrals = ( empty( $referrals ) && $referrals != 0) ? 0 : $referrals;
答案 1 :(得分:1)
您可以尝试使用.
或is_null
:
isset
答案 2 :(得分:1)
在函数中测试你的值,如果小于1或不是数字,则返回0.如果值为空,那么referrals参数的方法中的默认值0将确保它不会失败。
function setReferrals($referrals = 0) {
return ($referrals < 1 || is_nan($referrals)) ? 0 : $referrals;
}
echo setReferrals(0) . "<br>";
echo setReferrals() . "<br>";
echo setReferrals(null) . "<br>";
echo setReferrals(1) . "<br>";
echo setReferrals(200) . "<br>";
echo setReferrals('ABC') . "<br>";
// output:
// 0
// 0
// 0
// 1
// 200
// 0