[英]Is it possible to create a ternary operator for this statement in PHP?
function integer($str)
{
if(preg_match('/[^0-9]/', $str))
{
return FALSE;
}
else
{
return $str;
}
}
是否可以在PHP中为此语句创建三元运算符?
是:
function integer($str) {
return (preg_match('/[^0-9]/', $str) ? false : $str);
}
您应该使用ctype_digit
:
function integer($str) {
return ctype_digit($str) ? $str : false;
}
或者将filter_var
与FILTER_VALIDATE_INT
一起FILTER_VALIDATE_INT
:
function integer($str) {
return filter_var($str, FILTER_VALIDATE_INT, array(
'options' => array('min_range' => 0),
'flags' => FILTER_FLAG_ALLOW_OCTAL
));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.