Php 组合2个if语句

Php 组合2个if语句,php,Php,我有两个if语句,我想合并成一个 以下是当前的if语句: if (empty($_POST['route'])) { $formerrors[] = '<span class="error">route</span>'; } else { $route = escape_data($_POST['route']); } if (mysql_num_rows($result) == 0) { $formerrors[] = '<span

我有两个if语句,我想合并成一个

以下是当前的if语句:

if (empty($_POST['route']))
{
    $formerrors[] = '<span class="error">route</span>';
} else {
    $route = escape_data($_POST['route']);

}


if (mysql_num_rows($result) == 0)
{
    $formerrors[] = '<span class="error">route</span>';
} else {
    $route = escape_data($_POST['route']);

}
我需要像这样的东西:

if (empty($_POST['route'])) & (mysql_num_rows($result) == 0)
{
    $formerrors[] = '<span class="error">route</span>';
} else {
    $route = escape_data($_POST['route']);

}

但是不能100%确定如何实现这一点,这取决于您真正想要的含义:更改&到&&和或| |或`

你几乎成功了

if ((empty($_POST['route'])) && (mysql_num_rows($result) == 0))
{
    $formerrors[] = '<span class="error">route</span>';
} else {
    $route = escape_data($_POST['route']);
}
您必须在此处使用| |逻辑OR:

if ( empty($_POST['route']) || mysql_num_rows($result) == 0) {
  ...
}

。。。否则,只有当$\u POST['route']和$result都为空时,才会调用错误处理代码

您需要学习PHP中的运算符。您使用了&实际上是位and运算符,而不是实数and。

不知道如何感谢大家,但这正是我想要的

if (empty($_POST['route']) ||  mysql_num_rows($result) == 0)
{
    $formerrors[] = '<span class="error">route</span>';
} else {
    $route = escape_data($_POST['route']);

}

谢谢大家,这给了我一些阅读的东西,我也会考虑你的所有评论

&&这里使用的分隔符是什么,或者这个词和答案已经给出了。但是,也要记住去看看你选择的语言的文档。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,。需要替换&&=>| |是的,如果他想检查其中一个,那么这是必要的。但是如果他想在两个语句都为真的情况下启动代码,那么代码是正确的。你在第一行还有一个括号……这应该不是问题。将布尔表达式封装在括号中以增加可读性并强调分隔是一种很好的做法:您也可以将其写为空$var==true | |是这里OPs问题的正确选择