PHP,如果A然后B和C其他D和E.

时间:2013-02-15 16:41:06

标签: php if-statement conditional

如何正确编写条件语句,如果A为真,则执行B和C,否则执行D和E.

if (empty($A)) { B=0 AND C=0; }
  else {D=X AND E=Y; }

一般来说,这看起来不错吗?

这是我的实际代码:

if (empty($_FILES['file']['name'])) {
$filelink = '' AND $filetext = '';
} else {
$filelink = mysql_real_escape_string($location) AND
$filetext = 'Open File';
}

4 个答案:

答案 0 :(得分:2)

这就是大括号的用途;他们创造了一个街区。无论该块中的任何内容都将执行。您可以在同一个块中放置任意数量的语句:

if (empty($_FILES['file']['name'])) {
    $filelink = '';
    $filetext = '';
} else {
    $filelink = mysql_real_escape_string($location);
    $filetext = 'Open File';
}

答案 1 :(得分:0)

if (empty($_FILES['file']['name'])) {
    $filelink = '';
    $filetext = '';
} else {
    $filelink = mysql_real_escape_string($location);
    $filetext = 'Open File';
}

答案 2 :(得分:0)

您不需要语句之间的AND

if (empty($_FILES['file']['name'])) {
    $filelink = '';
    $filetext = '';
} else {
    $filelink = mysql_real_escape_string($location)l
    $filetext = 'Open File';
}

如果if语句的计算结果为true,则将运行下一个匹配花括号之间的所有代码。如果为false,则将运行其他匹配的花括号之后的所有代码。

答案 3 :(得分:0)

AND是一名运营商。

它是一个逻辑运算符,需要两个操作数。左和右或L + R.

首先评估左手操作数L然后将其转换为bool。如果值为false,则R从不执行,运算符返回false。如果为真,则评估R并将其转换为bool。如果bool为true,则运算符返回true,否则为false。

因此,根据您所说的,您希望使用AND运算符执行语句,以实现永远不会被使用的临时布尔值。

从这个角度来看,你的逻辑是错误的。而是使用“;”用于分隔语句的标记。而不是说(A和B)说{A; B;}然后A和B都将被评估。