PHP:如何从输入字段获取变量类型

PHP:如何从输入字段获取变量类型,php,variables,types,Php,Variables,Types,我需要这类问题的答案。请我需要从HTML输入字段中获取变量类型,并回显该类型的$var 从这个表单中,我需要检查输入的数据类型。是字符串还是整数等 <form> <input type="text" name="podatak" value="podatak" /> <input type="Submit" name="Submit"> </form> 提前感谢。您可以使用这些功能:是int,是数组,是null,是float,是double,

我需要这类问题的答案。请我需要从HTML输入字段中获取变量类型,并回显该类型的$var

从这个表单中,我需要检查输入的数据类型。是字符串还是整数等

<form>
<input type="text" name="podatak" value="podatak" />
<input type="Submit" name="Submit">
</form>


提前感谢。

您可以使用这些功能:
是int
是数组
是null
是float
是double
是bool
,等等。

您可以使用这些功能:
是int
是数组
是null
是null
是双精度的
是双精度的
,等等。

它总是一个字符串或数组。如果
是数组($\u POST['value'])
返回true;这是一个数组。在任何其他情况下,它都是字符串。

它始终是字符串或数组。如果
是数组($\u POST['value'])
返回true;这是一个数组。在任何其他情况下,它都是字符串。

所有表单提交都是以字符串开头的。但是,您可以使用一些函数,如查看项是否为数字,以及查看传递的表单元素是否为数组(即复选框,可能是文件等)

根据你的评论,我会做如下事情:

function whatTypeAmI($var)
{
    if(is_array($var)
    {
        // Request is likely a checkbox or multiple files.
        echo "I am an Array! Yeeehaaa!";
    }
    else if(is_numeric($var))
    {
        // I look like a number, or someone 
        // typed in a number into a text field.
        echo "I am a Fluffeh number!";
    }
    else
    {
        echo "Goodness, who knows what on earth happened?";
    }
}

foreach($_POST as $val)
{
    whatTypeAmI($val);
}

所有表单提交都以字符串开头。但是,您可以使用一些函数,如查看项是否为数字,以及查看传递的表单元素是否为数组(即复选框,可能是文件等)

根据你的评论,我会做如下事情:

function whatTypeAmI($var)
{
    if(is_array($var)
    {
        // Request is likely a checkbox or multiple files.
        echo "I am an Array! Yeeehaaa!";
    }
    else if(is_numeric($var))
    {
        // I look like a number, or someone 
        // typed in a number into a text field.
        echo "I am a Fluffeh number!";
    }
    else
    {
        echo "Goodness, who knows what on earth happened?";
    }
}

foreach($_POST as $val)
{
    whatTypeAmI($val);
}

我猜您是在尝试查找表单字段类型而不是数据类型。。。如文本、提交、按钮等。。。如果这是你的情况,那么恐怕没有这样的功能。据我所知,FormPost不会向服务器发送任何表单类型信息。。。您可以使用关联数组以任何方式执行此操作。在php方面,做一些类似的事情

<?php 
     function getType($elementName){
         $formType = array('elementName1' => 'elementType1', 'elementName2' => 'elementType2'......); 
         if(array_key_exists($elementName, $formType))
             return $formType[$elementName];
         return 'Unknown';
     }

     foreach($_POST AS $elementName => $elementVal){
          echo 'name = '.$elementName.' type = '. getType($elementName).' value ='.$elementVal;
     } 

我猜您是在尝试查找表单字段类型,而不是数据类型。。。如文本、提交、按钮等。。。如果这是你的情况,那么恐怕没有这样的功能。据我所知,FormPost不会向服务器发送任何表单类型信息。。。您可以使用关联数组以任何方式执行此操作。在php方面,做一些类似的事情

<?php 
     function getType($elementName){
         $formType = array('elementName1' => 'elementType1', 'elementName2' => 'elementType2'......); 
         if(array_key_exists($elementName, $formType))
             return $formType[$elementName];
         return 'Unknown';
     }

     foreach($_POST AS $elementName => $elementVal){
          echo 'name = '.$elementName.' type = '. getType($elementName).' value ='.$elementVal;
     } 


你可以使用
var\u dump($variable)
你可以使用
var\u dump($variable)

你不知道你得到了什么输入/选择/文本区域类型。@user1677402查看我对答案的编辑,这可能是我的选择。你不知道你得到了什么输入/选择/文本区域类型。@user1677402查看我对答案的编辑,这可能是我会同意的。不是我的反对票,但我猜你的反对票是因为
$\u POST
$\u GET
数据是数组或字符串<因此,code>gettype
在这种情况下没有用处,但是如何将其与以下内容连接起来:
不是我的否决票,但我猜您的否决票是因为
$\u POST
$\u GET
数据是数组或字符串<因此,code>gettype
在这种情况下并不有用,但如何将其与此连接:
但它是否总是字符串或数组?然后,使用其他方法,如is_null、is_float、is_double等?如果输入字段不存在,它仍然只是字符串或数组。或者
null
。在这种情况下,将不定义它,不为null。但它不一定是字符串或数组吗?然后,使用其他方法,如is_null、is_float、is_double等?它仍然只是一个字符串或数组。或者如果输入字段不存在,则
null
。在这种情况下,它不会被定义,而不是null。我需要一种类型的输入数据,是整数还是字符串。我需要在输入字段中输入一些内容,并回显输入数据的类型。我需要输入数据的类型,是整数还是字符串。我需要在输入字段中输入一些内容,并回显输入数据的类型。