【发布时间】:2015-02-25 14:21:18
【问题描述】:
我有一些代码,我试图在彼此之间使用不同的 if,但我遇到了问题。我制作了这个测试代码来显示问题:
<?php
$test = 'lol';
if ($test == 'wat') :
if (!empty($_GET['wat'])) {
echo 'well';
}
elseif ($test == 'lol') :
echo 'loool';
endif;
die();
?>
这将返回此错误:
解析错误:语法错误,第 7 行 /var/www/domain.com/public_html/test.php 中出现意外的 ':'
但这只是在我添加 if (!empty($_GET['wat'])) { }
问题是,我做错了什么,还是不能在一个没有大括号的情况下使用带有大括号的 if?
【问题讨论】:
-
您似乎在尝试使用Alternative syntax for control structures。这在使用 PHP 作为“模板语言”时非常有用。唉,根据手册:注意:不支持在同一控制块中混合语法。如果您将内部 'if' 更改为使用 ':' 语法,那么它会按预期工作。跨度>
-
以正确的方式去做。它的代码很糟糕,而且是个坏主意。把括号放在里面,让你想要的东西清楚明了。
标签: php if-statement