Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何仅检查数字(包括负数)?_Php_Numbers_Negative Number - Fatal编程技术网

Php 如何仅检查数字(包括负数)?

Php 如何仅检查数字(包括负数)?,php,numbers,negative-number,Php,Numbers,Negative Number,如何检查从-10负到+10正的数字 这就是我所拥有的,但我认为这不安全: if(isset($_POST['number']) && ctype_digit($_POST['number']) && $_POST['number']>=-10 && $_POST['number']<=10){ //do something } if(设置($\u POST['number'])和&ctype_digit($\u POST['n

如何检查从-10负到+10正的数字

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

if(isset($_POST['number']) && ctype_digit($_POST['number']) && $_POST['number']>=-10 && $_POST['number']<=10){
    //do something
}
if(设置($\u POST['number'])和&ctype_digit($\u POST['number'])和&$\u POST['number']>=-10&&&$\u POST['number']
到该内部IF语句,以确保没有从输入中删除任何非数字字符


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

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

$x = '-22';
if (isNumber($x, ['zero','negative']))
    echo 'Yes';
else
    echo 'No';

isNumber($x, $includes=[])
{       
    if (is_int($x)) {
        if ($x === 0) {
            if (in_array('zero', $includes))
                return true;
        } elseif ($x < 0) {
            if (in_array('negative', $includes))
                return true;
        } else
            return true;
    } elseif (is_string($x)) {
        if ($x == '0') {
            if (in_array('zero', $includes))
                return true;
        } elseif ($x[0] == '-') {
            if (in_array('negative', $includes))
                return ctype_digit(substr($x, 1));
        } else
            return ctype_digit($x);
    }
}
$x='-22';
如果(isNumber($x,['zero','negative']))
回应“是”;
其他的
回应‘否’;
isNumber($x,$includes=[]))
{       
如果(是整($x)){
如果($x==0){
if(在数组中('zero',$includes))
返回true;
}elseif($x<0){
if(在数组中('负',包括$)
返回true;
}否则
返回true;
}elseif(是字符串($x)){
如果($x='0'){
if(在数组中('zero',$includes))
返回true;
}elseif($x[0]='-'){
if(在数组中('负',包括$)
返回ctype_数字(substr($x,1));
}否则
返回ctype_位($x);
}
}

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

$x = '-22';
if (isNumber($x, ['zero','negative']))
    echo 'Yes';
else
    echo 'No';

isNumber($x, $includes=[])
{       
    if (is_int($x)) {
        if ($x === 0) {
            if (in_array('zero', $includes))
                return true;
        } elseif ($x < 0) {
            if (in_array('negative', $includes))
                return true;
        } else
            return true;
    } elseif (is_string($x)) {
        if ($x == '0') {
            if (in_array('zero', $includes))
                return true;
        } elseif ($x[0] == '-') {
            if (in_array('negative', $includes))
                return ctype_digit(substr($x, 1));
        } else
            return ctype_digit($x);
    }
}
$x='-22';
如果(isNumber($x,['zero','negative']))
回应“是”;
其他的
回应‘否’;
isNumber($x,$includes=[]))
{       
如果(是整($x)){
如果($x==0){
if(在数组中('zero',$includes))
返回true;
}elseif($x<0){
if(在数组中('负',包括$)
返回true;
}否则
返回true;
}elseif(是字符串($x)){
如果($x='0'){
if(在数组中('zero',$includes))
返回true;
}elseif($x[0]='-'){
if(在数组中('负',包括$)
返回ctype_数字(substr($x,1));
}否则
返回ctype_位($x);
}
}

我添加了php标记,以便php社区可以看到您的问题。为什么您希望人们在这么有限的数字时键入它?为什么不添加选择框?我添加了php标记,以便php社区可以看到您的问题。为什么您希望人们在这么有限的数字时键入它?为什么不添加选择框?
&& "".$num == $_POST['number']
$x = '-22';
if (isNumber($x, ['zero','negative']))
    echo 'Yes';
else
    echo 'No';

isNumber($x, $includes=[])
{       
    if (is_int($x)) {
        if ($x === 0) {
            if (in_array('zero', $includes))
                return true;
        } elseif ($x < 0) {
            if (in_array('negative', $includes))
                return true;
        } else
            return true;
    } elseif (is_string($x)) {
        if ($x == '0') {
            if (in_array('zero', $includes))
                return true;
        } elseif ($x[0] == '-') {
            if (in_array('negative', $includes))
                return ctype_digit(substr($x, 1));
        } else
            return ctype_digit($x);
    }
}