【发布时间】:2014-11-10 12:03:02
【问题描述】:
当我在输入字段中输入值并提交时,gettype() 显示从输入字段中获取的值的类型是字符串。但是我输入了一个整数。为什么?
<form method="post" action="ff.php">
<input type="number" name="tableinteger" /><br />
<input type="submit" value="submit" />
</form>
<?php
if(isset($_POST['tableinteger'])){
$num=$_POST['tableinteger'];
$dt=gettype($num);
echo $dt;
if($num<2 || $num>20)
{
print "Enter the number that is between 2 and 20.";
}
else if($dt=="string"){
echo "Kindly Enter an integer value.";
}
else {
for($i=1; $i<11; $i++)
{
echo $num*$i ."<br />";
}
}
}
?>
【问题讨论】:
-
@sanojlawrence — 你还期待什么其他代码?
-
转换为 int $num= (int)$_POST['tableinteger'];
-
我希望如果用户输入一个整数,gettype() 应该将其识别为整数,如果用户输入一个字符串,它应该将其识别为字符串而不进行强制转换
-
检查我的代码我已经上传了完整的代码供您理解
-
@zaidiqbal - 由于数据通过 HTTP 发布的方式,您得到了字符串;它不是检查实际内容。如果您想查看是否正在处理整数,请尝试php.net/manual/en/function.is-int.php