function integer($str)
{
if(preg_match('/[^0-9]/', $str))
{
return FALSE;
}
else
{
return $str;
}
}
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
ます。
function integer($str) {
return filter_var($str, FILTER_VALIDATE_INT, array(
'options' => array('min_range' => 0),
'flags' => FILTER_FLAG_ALLOW_OCTAL
));
}