Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.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 用户名/ID整数检测_Php_Parsing_Types_Casting - Fatal编程技术网

Php 用户名/ID整数检测

Php 用户名/ID整数检测,php,parsing,types,casting,Php,Parsing,Types,Casting,我试图检测输入是用户id还是用户名。我试过这么做 if (is_int($user)) { echo "is int"; }else{ echo "is not"; } 但是它不工作,如果它是int,它不会将其检测为int。我曾经考虑过使用(int)$user,但是如果他们有一个像“example2”这样的用户名,它将变成2,然后变成id 2,对吗?尝试使用 if(is_numeric($user)){ 你需要使用 如果要检查$user是否为数字,可以使用is\u numer

我试图检测输入是用户id还是用户名。我试过这么做

if (is_int($user)) {
    echo "is int";
}else{
    echo "is not";
}
但是它不工作,如果它是int,它不会将其检测为int。我曾经考虑过使用
(int)$user
,但是如果他们有一个像“example2”这样的用户名,它将变成2,然后变成id 2,对吗?

尝试使用

if(is_numeric($user)){
你需要使用


如果要检查
$user
是否为数字,可以使用
is\u numeric
。这取决于允许的用户名类型。例如:

is_numeric("+0123.45e6") === true
您可以在中看到其他一些示例

如果确实需要验证
$user
是否只包含数字字符,则可能需要使用
ctype\u digit

if (ctype_digit($user)){
    echo "is int";
} else {
    echo "is not";
}

您可以查看更多的可能性。

如果用户名是一个数字,可能会出现重复的情况?它不会变成2。它将变成0。“2example”将变为2。除了整数之外,还有其他数字。虽然这个代码片段可以解决这个问题,但它确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满您的代码,因为这会降低代码和解释的可读性!谢谢@FrankerZ。下一次,我将确保它是良好的评论之前,我张贴它。
if (ctype_digit($user)){
    echo "is int";
} else {
    echo "is not";
}