PHP if()不能正常工作

时间:2014-02-28 10:06:54

标签: php html

我使用cbpFixedScrollLayout创建一个长滚动网站,其中一个部分有一个餐馆菜单。 菜单的导航是:

<ul>
  <li><a href="?m=Rest#fbsection3">Rest</a></li>
  <li><a href="?m=TA#fbsection3">TA</a></li>
</ul>

和php是

<?php
if(empty($_GET)) $menu = "Rest";
else $menu = $_GET["m"];

if ($menu="Rest"){echo"REST";}elseif($menu="TA"){echo"TAKEAWAY";}

?>

但由于某种原因,这不起作用。我无法弄清楚。帮助?!

4 个答案:

答案 0 :(得分:8)

if语句中的测试必须有==,而不是=,所以:

if ($menu == "Rest"){
    echo "REST";
} elseif ($menu == "TA"){
    echo "TAKEAWAY";
}

=为变量赋值,因此它总是返回true。

答案 1 :(得分:1)

if ($menu="Rest"){echo"REST";}elseif($menu="TA"){echo"TAKEAWAY";}

应该是

if ($menu=="Rest"){echo"REST";}elseif($menu=="TA"){echo"TAKEAWAY";}

答案 2 :(得分:0)

另外,使用带有$ _GET Array的empty()函数时要小心。即使没有定义Get变量,数组也可能不总是为空。其他全局变量也是如此。

干杯..

答案 3 :(得分:0)

如果您发送数据,请检查isset,如果条件使用“==”或“===”,请在此处查看示例:

if (isset($_GET["m"])) {
    if ($_GET["m"] == "Rest") {
        # code... "m = Rest"
    } elseif ($_GET["m"] == "TA") {
        # code... "m = TA"
    }

} else {
    # code... "m is empty"
}