function gp_barrier_check($amount) {
$return = 1;
if ($amount == 11 OR $amount == 12 OR $amount == 18 OR $amount == 35 OR
$amount == 58 OR $amount == 75 OR $amount == 81 OR $amount == 114 OR
$amount == 115 OR $amount == 288 OR $amount == 317 OR $amount == 344 OR
$amount == 403 OR $amount == 574 OR $amount == 804 OR $amount == 1093)
{
$return = 0;
}
return $return;
}
它工作正常,但在发送18时失败了一次。我不知道为什么功能失败。
答案 0 :(得分:0)
没有理由你的功能无法正常使用,但正如用户在评论部分指出的那样,所采用的方法并不理想。我的建议如下:
function gp_barrier_check( $amount ) {
return (int) in_array( $amount, array( 11, 12, 18, ) );
}
我将返回值转换为整数以匹配原始问题,尽管您似乎想要一个布尔值,在这种情况下只需删除(int)
。
答案 1 :(得分:0)
Nathan的答案很好,但是如果在数组中找到了金额,它将返回true,而OP在这种情况下想要返回0
。因此:
function gp_barrier_check($amount)
{
return (int)!in_array((int)$amount, array(11,12,18,35,58,75,81,114,115,288,317,344,403,574,804,1093));
}