我需要回答这类问题。请我需要从 HTML 输入字段中获取变量类型并回显该类型的 $var。
从这个表格中,我需要检查输入的数据类型。是字符串还是整数等。
<form>
<input type="text" name="podatak" value="podatak" />
<input type="Submit" name="Submit">
</form>
提前致谢。
所有表单提交都是以字符串开头的。但是,您可以使用诸如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);
}
它总是一个字符串或数组。如果is_array($_POST['value'])
返回真;这是一个数组。在任何其他情况下,它都是一个字符串。
您可以使用var_dump($variable)
.
我猜您正在尝试查找表单字段类型而不是数据类型...例如文本,提交,按钮等...如果这是您的情况,那么恐怕没有这样的功能。据我所知,表单发布不会将任何表单类型信息发送到服务器......您可以使用关联数组以任何方式做到这一点。例如:在你的 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;
}
您可以使用以下功能: is_int
、is_array
、is_null
、is_float
、is_double
、is_bool
等。
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';
}
}