表单输入的发布值是type = hidden,是一个字符串?

时间:2014-01-17 05:22:15

标签: php hidden-field

我正在尝试为我当前的网站简化我的php。通常,我使用==运算符处理(成功)提交的表单值,如下所示;

<?php
if (isset($_POST['yes_or_no'])) {
    if (($_POST['hidden']) == 'yes') {
        echo "<script>
        alert('Yep');
        </script>";
    }
    else {
        echo "<script>
        alert('Nope');
        </script>";
    }
}
else//etc.
?>

<html><head></head><body>

<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post" id="YesNoForm">
<button name="yes_or_no" type="submit">Click</button>
<input type="hidden" name="hidden" value="yes">
</form>

</body></html>

但是,我是否应该使用===运算符将表单的隐藏(上面表格中的值等于“是”)视为具有相同的类型和值(因此在上面的代码中使用==='yes')?隐藏值是文本字符串吗?

2 个答案:

答案 0 :(得分:2)

PHP不需要显式变量类型定义。因此,如果您为其分配一个字符串,如果您指定一个整数,它将被视为字符串,它将被视为整数值,依此类推。 所以是的,这里的值将是字符串。为了更好地理解,您可以参考

http://www.php.net/manual/en/language.types.type-juggling.php。希望这有用:)

答案 1 :(得分:1)

如果你在数字之间作为字符串(例如货币)或BOOLEAN短语(“true”对比TRUE)进行辩论,那么你唯一的理由是。

“是”总是一个字符串所以是的,请使用===