1

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

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

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

提前致谢。

4

6 回答 6

7

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

根据您的评论,我会执行以下操作:

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);
}
于 2012-09-17T11:15:01.773 回答
2

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

于 2012-09-17T11:14:25.533 回答
0

您可以使用var_dump($variable).

于 2015-03-14T10:55:48.937 回答
0

我猜您正在尝试查找表单字段类型而不是数据类型...例如文本,提交,按钮等...如果这是您的情况,那么恐怕没有这样的功能。据我所知,表单发布不会将任何表单类型信息发送到服务器......您可以使用关联数组以任何方式做到这一点。例如:在你的 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;
     } 
于 2012-09-17T11:47:31.757 回答
-1

您可以使用以下功能: is_intis_arrayis_nullis_floatis_doubleis_bool等。

于 2012-09-17T11:13:49.353 回答
-2
function gettype_custom($var){
    if(is_array($var)){
        return 'array';
    }elseif(is_numeric($var)){
        return 'numeric';
    }elseif(is_string($var)){
        return 'string';
    }else{
        return 'unknown';
    }
}
于 2012-09-17T11:16:21.723 回答