当我写一个if语句时,我会检查一个变量:
if(isset($_GET['username']){
echo "set";
} else {
echo "unset";
}
我怎样才能获得我的if语句来检查是否设置了两个类似的变量:
if(isset($_GET['username'] & $_GET['firstname'])){
echo "set";
} else {
echo "unset";
}
所以基本上如何一次检查if语句中的两个东西?
答案 0 :(得分:11)
查看control structures和logical 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