多年来,我一直使用这种方法来测试 $_POST var 并同时为 $var 赋值。
今天我遇到了一个服务器,它的处理方式似乎有所不同。
我正在加载页面 http://site.com/foo.php?var=bar 没有发布表单...并且测试 $_POST var 似乎取消了我的初始分配
$var= $_GET['var'];
echo "var is $var\n"; // correctly echos $_GET['var']
if ($var= $_POST['foo']) {
echo "POST foo seen\n"; // does not fire, condition not met
}
echo "var is $var\n"; // does not echo $_GET['var']
当我切换到
if (isset($_POST['foo'])) {
$var = $_POST['foo'];
...
我摆脱了令人不安的行为。
所以我的问题是这是否if ($var= $_POST['foo']) {
是不好的形式?