PHP条件语句

Ryl*_*ton 0 php

嗨,有人可以在我的条件声明中帮助我做错了.

if(isset($_GET['input'] or $_GET['input2'] or $_GET['input3']))
{
  $release=$_GET['input'].$_GET['input2'].$_GET['input3'];
  echo $release;
}
Run Code Online (Sandbox Code Playgroud)

编辑:错误是 syntax error, unexpected T_LOGICAL_OR, expecting ',' or ')'

pha*_*t0m 5

您需要进行多次调用isset,每次调用一次!

请记住,or具有不同的优先级||,通常需要后者.

您得到一个解析错误,因为您将复合表达式传递给isset而不是变量.它不是常规函数,而是一个单独的语言结构,这就是为什么它有自己的任意规则,正如文档所指出的那样:

isset()仅适用于变量,因为传递任何其他内容都会导致解析错误.


也许您认为PHP模拟自然语言,因此您将其视为"Is input or input2 or input3 set?".

那将是一种误解.如果它是有效的语法,这将逻辑OR值一起在第一,然后它会传递一个值isset-By那个时候,你的变量的所有连接丢失和被留下的唯一的事情就是要么truefalse在其上isset然后会适用.