结合2个if语句

时间:2012-12-10 15:47:15

标签: 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 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%确定如何实现这个

6 个答案:

答案 0 :(得分:4)

取决于您实际需要的含义:将&更改为&&(“和”)或||(“或”)`。

http://php.net/manual/en/language.operators.logical.php

答案 1 :(得分:3)

你必须在这里使用||(逻辑或):

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

...否则,只有当$_POST['route']$result为空时,才会调用您的错误处理代码。

答案 2 :(得分:2)

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

}

答案 3 :(得分:1)

您需要学习PHP中的操作符。您使用&实际上是按位and运算符,而不是真正的and

答案 4 :(得分:1)

不知道如何感谢你们,http://php.net/manual/en/language.operators.logical.php就是我追求的目标。

谢谢大家,这给了我一些阅读内容,也考虑到了你的所有评论

答案 5 :(得分:0)

你差不多了。

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