如何正确编写条件语句,如果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';
}
答案 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都将被评估。