如何仅检查数字(包括否定数字)?

时间:2012-02-15 22:25:31

标签: php numbers negative-number

如何查看-10负数到+10正数的数字?

这就是我所拥有的,但我认为这不安全:

if(isset($_POST['number']) && ctype_digit($_POST['number']) && $_POST['number']>=-10 && $_POST['number']<=10){
    //do something
}

和表格:

Input a number between -10 and 10: <input type="text" name="number" size="5" />

2 个答案:

答案 0 :(得分:2)

if( isset($_POST['number'])) {
    $num = intval($_POST['number']);
    if( $num >= -10 && $num <= 10) {
        // do something
    }
}

还有其他方法,但那个方法可行。任何无法转换为数字的内容都将被视为零。如果这不是所需的行为,请添加:

&& "".$num == $_POST['number']

到内部IF语句,以确保没有从输入中删除非数字字符。

答案 1 :(得分:1)

检查变量是否为包含零值和负值的数字

$age = intval( $_POST['age'] );