如何更改empty()过滤器?

时间:2016-09-01 20:20:13

标签: php wordpress

我按照$referrals值排序了一些帖子,这些值总是一个数字。很快,由于帖子不包含值,或者值为0,因此不会显示帖子。

我想更改此内容并显示包含值0的帖子。我猜它在这里被过滤了:

$referrals = ( empty( $referrals ) ) ? 0 : $referrals;

我该怎么改变?阅读empty我已经了解到它检查是否有空,未定义或为空,如果是这样,则返回true。所以我想我再也不能使用empty了?

3 个答案:

答案 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