使用'或'运算符不适用于菜单

1 php

在我的代码中,我有一个名为"active"的CSS类,如果$ _GET ['page'] ==教程,php,mysql等我会使用它...

问题是,即使'page'变量不等于这些值中的任何一个,在这种情况下Tutorials按钮由于某种原因仍然是活动的.

有什么想法会发生这种情况吗?我是否错误地使用'或'(||)操作数?

<?php if($_GET['page'] == 'tutorials' || 'php' || 'mysql' || 'html' || 'css' || 'js') { ?>
      <li class="active"> <?php } else { ?> <li> <?php } ?>

      <a href="index.php?page=tutorials">Tutorials</a>
        <ul>
     <li><a href="index.php?page=php">PHP</a></li>
     <li><a href="index.php?page=mysql">MySQL</a></li>
     <li><a href="index.php?page=html">HTML</a></li>
     <li><a href="index.php?page=css">CSS</a></li>
     <li><a href="index.php?page=js">JS</a></li>
        </ul>
        </li>
Run Code Online (Sandbox Code Playgroud)

art*_*ung 8

您使用||不当.

您需要分别测试每个完整条件才能以这种方式使用它.所以你可以这样做:

<?php if($_GET['page'] == 'tutorials' || $_GET['page'] == 'php' || $_GET['page'] == 'mysql' || $_GET['page'] == 'html' || $_GET['page'] == 'css' || $_GET['page'] == 'js') { ?>
Run Code Online (Sandbox Code Playgroud)

这是另一种语法:

<?php
  if(in_array($_GET['page'], array('tutorials', 'php', 'mysql', 'html', 'css', 'js'))) {
?>
Run Code Online (Sandbox Code Playgroud)

阅读有关PHP控件结构,数组和的更多信息in_array()