function validate_boolean( $value ) {
if ( ! is_bool( $value ) && ! ( ( ctype_digit( $value ) || is_numeric( $value ) ) && in_array( $value, [ 0, 1 ], true ) ) ) {
return false;
}
return true;
}
嗯,怎么修改一下这段代码,当我传递的值是 'true'、'false' 时,也可以返回 true
1
manhere 2018-09-11 17:45:42 +08:00
in_array 判断 0,1 后面 加上 'true','false' 即 0,1, 'true','false'
|
2
s609926202 OP @manhere
怕是不行吧,得另开条件,这样: function validate_boolean( $value ) { if ( ! is_bool( $value ) && ! ( ( ctype_digit( $value ) || is_numeric( $value ) ) && in_array( $value, [ 0, 1, '0', '1' ], true ) ) && ! in_array( $value, [ 'true', 'false' ], true ) ) { return false; } return true; } |