2013-02-26 52 views
0

我有一個簡單的導航,它使用php知道您正在使用哪個「當前頁」,以允許我的css指出此問題。將變量與多個(變量數組)進行比較,結果相同,在PHP中

我的PHP代碼:

<?php echo "\n"; if ($currentPage == 'about.php') { ?> 

我試圖做的是有這個按鈕活躍,其子頁面中的當前頁面? 有沒有在上面的代碼中有多個頁面的方法?

我試過,但它不工作

<?php echo "\n"; if ($currentPage == 'about.php about2.php about3.php') { ?> 
+0

'if(something){...} else if(something_else){...} else {...}'?但是,這將很快變得非常難看/不可維護。 – 2013-02-26 14:50:05

+0

數組呢? 'if(in_array($ currentPage,array('about.php','about2.php','about3.php'))){' – hsan 2013-02-26 14:51:04

回答

3

您可以使用in_array

<?php $pages = Array("about.php","about2.php","about3.php"); ?> 
<?php echo "\n"; if (in_array($currentPage,$pages)) { ?> 

這基本上會經歷一個數組,每個那些比較值($currentPage)在數組中。

+0

哇,這太快了!謝謝大家:) – user2111681 2013-02-26 15:05:01

+0

很高興有幫助。 – George 2013-02-26 15:06:13

+0

對不起,我回來了,我已經完成了上述,但我不能讓它完全工作?如果我使用上面的例子(「about.php」,「about2.php」,「about3.php」),它只會提取原始的about.php。如果我使用(「about.php」,「home.php」,「contact.php」),他們都工作正常?我需要將一些PHP代碼或其他東西放入新頁面嗎? – user2111681 2013-02-27 14:35:14

0

(不是答案只是一個UPDATE)

這是我的時刻:(只有about.php激活開關)

<?php $pages = Array("about.php","about2.php","about3.php"); ?> 
     <?php echo "\n"; if (in_array($currentPage,$pages)) { ?> 
      <li class="button on"> 
      <img src="style/images/clear.png" width="100px" height="100px" alt="clear_image" /> 
      About 
      </li> 
      <?php } else { ?> 
      <li class="button off"> 
       <a class="nav" href="about.php"> 
        <img src="style/images/clear.png" width="100px" height="100px" alt="clear_image" /> 
        About 
       </a> 
      </li> 
     <?php } ?> 

如果我改變的頁面home.php,contact.php(這是在導航原本),他們所有的工作把他們所有的在SAM時間? 所以我不知道我需要做什麼,以包括我的新網頁?

我,這是我的其他按鈕之一:

 <?php echo "\n"; if ($currentPage == 'contact.php') { ?> 
      <li class="button on"> 
       <img src="style/images/clear.png" width="100px" height="100px" alt="clear_image" /> 
       Contact 
      </li> 
      <?php } else { ?> 
      <li class="button off"> 
       <a class="nav" href="contact.php"> 
        <img src="style/images/clear.png" width="100px" height="100px" alt="clear_image" /> 
        Contact 
       </a> 
      </li> 
     <?php } ?> 

這是爲什麼它拿起原始頁面,但不是我的新的?

+0

你還沒有定義'$ currentPage' – George 2013-02-27 14:55:36

+0

我有這個在頁面的頂部:<?php $ currentPage = basename($ _ SERVER ['' SCRIPT_NAME']);?>這是你的意思嗎? – user2111681 2013-02-27 14:56:36

+0

是的,這是因爲這些頁面不存在。'basename($ _ SERVER ['SCRIPT_NAME']);'等於腳本運行的頁面名稱 – George 2013-02-27 15:01:18

相關問題