我正在做同样的陈述而且它不起作用。
if ( $1 === $one ) && ( $2 == $two ) {
require("one.php");
} elseIF($2 === $two) {
require("two.php");
}else{
require("three.php");
die("");
}
这是我得到的错误消息:
PHP Parse error: syntax error, unexpected T_BOOLEAN_AND
答案 0 :(得分:2)
应该是:
if (( $1 === $one ) && ( $2 == $two )) {
require("one.php");
} elseIF($2 === $two) {
require("two.php");
} else {
require("three.php");
die("");
}
答案 1 :(得分:2)
你需要这样做:
if (( $1 === $one ) && ( $2 == $two )) {
或者:
if ( $1 === $one && $2 == $two ) {
请记住将它作为代数放在括号中,'IF @语句需要作为一个整体进行评估,并且要评估的所有条件都包含在(和)中。根据您希望进行评估的复杂程度(以公式方式构建),您可以将后续标准用括号括起来,例如。
x || y
x && y
x && (y || z)
x || (y && z)
答案 2 :(得分:1)
您需要将第一个IF语句中的两个条件包含在附加括号中:
if (( $1 === $one ) && ( $2 == $two ))
答案 3 :(得分:1)
if (( $1 === $one ) && ( $2 == $two )) {
require "one.php";
} elseif ($2 === $two) {
require "two.php";
} else {
require "three.php";
die("Some message");
}
答案 4 :(得分:1)
不,问题出在第一行。
做的:
if ($1 === $one && $2 == $two) { ...
“if”条件始终在单个“()”内。您可以嵌套它们,但if条件在第一个关闭后停止。所以if (($1 === $one) && ($2 == $two))
也是有效的,但在这种情况下,除非你发现它提高了可读性,否则不需要嵌套它。
对方面有点批评:
这些变量名称非常糟糕,因为它们没有解释发生了什么。与文件名相同。
请相当,请将糖放在上面,修复你的缩进(查看draevor的答案,以获得合适的缩进)。习惯于立即进行适当的缩进,因为以后变得更难以适应变化的练习。当其他人开始使用您的代码时,如果您继续这样缩进,他们会诅咒您的名字。它的可读性确实很重要。