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

时间:2012-09-17 11:12:34

标签: php variables types

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

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

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

提前致谢。

5 个答案:

答案 0 :(得分: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);
}

答案 1 :(得分: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;
     } 

答案 2 :(得分:0)

您可以使用var_dump($variable)

答案 3 :(得分:-1)

您可以使用以下功能:is_intis_arrayis_nullis_floatis_doubleis_bool等。< / p>

答案 4 :(得分:-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';
    }
}