0

我有 2 个 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% 确定如何实现这一目标

4

6 回答 6

4

根据您实际想要的含义:更改&&&("and") 或||("or")`。

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

于 2012-12-10T15:47:58.780 回答
3

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

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

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

于 2012-12-10T15:49:13.870 回答
2
if (empty($_POST['route']) ||  mysql_num_rows($result) == 0)
{
    $formerrors[] = '<span class="error">route</span>';
} else {
    $route = escape_data($_POST['route']);

}
于 2012-12-10T15:49:27.270 回答
1

不知道如何感谢大家,但http://php.net/manual/en/language.operators.logical.php是我所追求的。

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

于 2012-12-10T15:59:44.133 回答
1

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

于 2012-12-10T15:56:48.660 回答
0

你几乎明白了。

if ((empty($_POST['route'])) && (mysql_num_rows($result) == 0))
{
    $formerrors[] = '<span class="error">route</span>';
} else {
    $route = escape_data($_POST['route']);
}
于 2012-12-10T15:48:44.053 回答