Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.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_Forms_Gettype - Fatal编程技术网

Php 输入类型=";“数字”;正在返回字符串

Php 输入类型=";“数字”;正在返回字符串,php,forms,gettype,Php,Forms,Gettype,当我在输入字段中输入值并提交时,gettype()显示从输入字段中获取的值的类型是字符串。但我输入了一个整数。为什么 <form method="post" action="ff.php"> <input type="number" name="tableinteger" /><br /> <input type="submit" value="submit" />

当我在输入字段中输入值并提交时,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)$\u POST['tableinteger'];我希望,如果用户输入一个整数,gettype()应该将其识别为整数,如果用户输入一个字符串,它应该将其识别为字符串,而无需强制转换检查我的代码我已经为您上传了完整的代码understanding@zaidiqbal-您之所以获得字符串,是因为通过HTTP发布数据的方式;它没有检查实际内容。如果你想知道你是不是在处理一个整数,试着检查我的代码现在我上传了完整的代码现在你可以理解我想做什么了。