下面的代码我得到一个页面,打印任务,然后退出,即使任务的值为零。非常不寻常的PHP行为
$task = (isset($_POST['task']))?$_POST['task'] :(isset($_GET['task']))?$_GET['task']:0;
if($task == "delete") {
echo $task;
exit();
}
输出:
0
但是如果我改变的第一行:
$task = (isset($_POST['task'])) ? $_POST['task'] :(isset($_GET['task'])) ? $_GET['task'] : NULL;
它会正常工作,那么,为什么它是一个字符串值“删除'等于0?
我会尽我所能避免嵌套三元组,因为这会造成混淆,很难直观理解。 –
是的,这样的语句应该放在大括号中,即使只有一个短语,例如:echo''
使用$ _REQUEST'task']会不会更简单? – symcbean