在PHP中检查If Then语句

时间:2009-04-20 21:18:39

标签: php if-statement

当我写一个if语句时,我会检查一个变量:

if(isset($_GET['username']){
 echo "set";
 } else {
 echo "unset";
}

我怎样才能获得我的if语句来检查是否设置了两个类似的变量:

if(isset($_GET['username'] & $_GET['firstname'])){
 echo "set";
 } else {
 echo "unset";
}

所以基本上如何一次检查if语句中的两个东西?

7 个答案:

答案 0 :(得分:11)

查看control structureslogical operators上的PHP手册:

if(isset($_GET['username']) && isset($_GET['firstname'])) {
    echo "set";
} else {
    echo "unset";
}

使用单&正在执行bitwise operation,这肯定不是您想要的。

and也是&&语法的同义词,正如其他答案所示。

编辑:正如评论中所指出的,您可以通过将两个变量都传递给isset函数来检查是否存在两个变量。但是,如果您想进行其他类型的操作,则需要执行上面的逻辑运算符。

答案 1 :(得分:7)

if ( isset($_GET['username'], $_GET['firstname']) ) {
    echo 'Set!';
}

isset接受多个参数,如果提供了多个参数,则只有在设置了所有参数后,isset()才会返回TRUE。评估从左到右进行,并在遇到未设置的变量时立即停止。

答案 2 :(得分:2)

if ( isset($_GET['username']) && isset($_GET['firstname']) )

答案 3 :(得分:1)

尝试使用&&运算符(逻辑和)而不是& (二进制和)

所以如果isset为两者返回true,则if返回true,否则if将返回false。

答案 4 :(得分:1)

是的,或

echo((isset($ _ GET ['username'])&& isset($ _ GET ['firstname']))?“set”:“unset”);

答案 5 :(得分:0)

if (isset($_GET['username']) AND isset($_GET['firstname']))
{
    echo "set";
}
else
{
    echo "unset";
}

答案 6 :(得分:0)

if (isset($_GET['username']) && isset($_GET['firstname']))
{ 
    echo "set"; 
} 
else 
{ 
    echo "unset"; 
}

供参考:PHP's operators