等于多个字符串我发现了类似对这个问题的东西,但它是不相关的字符串。我只是在寻找写下面代码的最佳方式,我认为必须有一些我不知道的简短版本。如果变量在导航列表
<ul id="top-nav">
<li <?php if($filename == "index.php"){echo ("class=\"current\"");} ?>><a href="index.php" title="Home">Home</a></li>
<li <?php if($filename == "cause.php"){echo ("class=\"current\"");} ?>><a href="cause.php" title="Cause">Cause</a></li>
<li><a href="order.php" title="Order">Order</a></li>
<li class="drop-down<?php if($filename == "grand-prize-one.php" | $filename == "grand-prize-two.php"){echo (" current");} ?>"><a href="grand-prize-one.php" title="Grand Prizes">Grand Prizes</a>
<ul>
<li><a href="grand-prize-one.php" title="Grand Prize One">Grand Prize One</a></li>
<li><a href="grand-prize-two.php" title="Grand Prize Two">Grand Prize Two</a></li>
</ul>
</li>
<li <?php if($filename == "early-bird.php"){echo ("class=\"current\"");} ?>><a href="early-bird.php" title="Early Bird">Early Bird</a></li>
<li class="drop-down<?php if($filename == "vehicles.php" || $filename == "vacations.php" || $filename == "other-prizes.php"){echo (" current");} ?>"><a href="vehicles.php" title="Electronics & more">Other Prizes</a>
<ul>
<li><a href="vehicles.php" title="Vehicles">Vehicles</a></li>
<li><a href="vacations.php" title="Vacations">Vacations</a></li>
<li><a href="other-prizes.php" title="Electronics & more">Electronics & more</a></li>
</ul>
</li>
<li <?php if($filename == "winners.php"){echo ("class=\"current\"");} ?>><a href="winners.php" title="Winners">Winners</a></li>
</ul>
是否有写$filename == "vehicles.php" || $filename == "vacations.php" || $filename == "other-prizes.php"
较短的方法吗?我怀疑我会需要它来适应更多的5-10个可能的字符串。
谢谢
SOLUTION
对于那些谁发现了这个问题,我最后做的:
随着我的主要PHP
<?php
// My other code
$grandPrizes = array("grand-prize-one.php","grand-prize-two.php");
$otherPrizes = array("vehicles.php","vacations.php","other-prizes.php");
?>
我的直列PHP中的li元素
<?php if (in_array($filename, $grandPrizes)) {echo " current";} ?>
请使用||而不是|进行或比较。 – eisberg 2011-03-23 15:15:18
||是一个逻辑运算符,|是一个按位运算符 – 2011-03-23 15:21:22
哦,哇。谢谢。我不知道。我不知道我从哪里得到这些信息,但它对我来说总是有效的。只是好奇,为什么它工作?如果任一$ a或$ b为真 – 2011-03-23 15:22:21