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
|  |      1manhere      2018-09-11 17:45:42 +08:00 in_array 判断 0,1 后面 加上 'true','false' 即 0,1, 'true','false' | 
|      2s609926202 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; } |