我正在尝试为我当前的网站简化我的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')?隐藏值是文本字符串吗?
答案 0 :(得分:2)
PHP不需要显式变量类型定义。因此,如果您为其分配一个字符串,如果您指定一个整数,它将被视为字符串,它将被视为整数值,依此类推。 所以是的,这里的值将是字符串。为了更好地理解,您可以参考
http://www.php.net/manual/en/language.types.type-juggling.php。希望这有用:)
答案 1 :(得分:1)
如果你在数字之间作为字符串(例如货币)或BOOLEAN短语(“true”对比TRUE)进行辩论,那么你唯一的理由是。
“是”总是一个字符串所以是的,请使用===