Php 如果变量等于导航列表中的多个字符串
我发现了类似于这个问题的东西,但它与字符串无关。我只是在寻找编写以下代码的最佳方法,我想一定有一些我不知道的简短版本Php 如果变量等于导航列表中的多个字符串,php,variables,navigation,if-statement,operators,Php,Variables,Navigation,If Statement,Operators,我发现了类似于这个问题的东西,但它与字符串无关。我只是在寻找编写以下代码的最佳方法,我想一定有一些我不知道的简短版本 <ul id="top-nav"> <li <?php if($filename == "index.php"){echo ("class=\"current\"");} ?>><a href="index.php" title="Home">Home</a></li> <li <
<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>
我在li元素中的内联PHP
您可以使用开关:
您可以使用开关:
您可以使用
if(in_array($filename, array("vehicles.php", "vacations.php", "other-prizes.php"))){
您可以使用
if(in_array($filename, array("vehicles.php", "vacations.php", "other-prizes.php"))){
试试这个:
<?php
if(in_array($filename, array("vehicles.php", "vacations.php", "other-prizes.php")) {
echo ("class=\"current\"");
}
?>
试试这个:
<?php
if(in_array($filename, array("vehicles.php", "vacations.php", "other-prizes.php")) {
echo ("class=\"current\"");
}
?>
请使用| |而不是|进行or比较。| |是逻辑运算符,|是位运算符噢哇。非常感谢。我不知道。我不知道我从哪里得到的,但它一直对我有用。奇怪的是,它为什么工作?如果$a或$b为true,逻辑运算符将返回true($a | |$b
)。按位运算符将返回在$a或$b中设置的位($a |$b
)。如果返回的位不等于零,它们将等于true
(如果您没有使用=
或!=
运算符)。顺便说一下,您不必使用括号来使用echo(echo(“当前”);
=>echo“当前”|
。请使用| |而不是|来进行or比较。| |是一个逻辑运算符,|是一个位运算符噢哇。谢谢。我不知道。我不知道从哪里得到的,但它对我总是有效。只是好奇,为什么它有效?如果$a或$b为真,逻辑运算符将返回真($a | |$b
)。按位运算符将返回在$a或$b中设置的位($a |$b
)。如果返回的位不等于零,它们将等于true
(如果您没有使用==
或!=
运算符)。顺便说一句,您不必使用括号来使用echo(echo(“当前”);
=>回显“当前”;
。
<?php
if(in_array($filename, array("vehicles.php", "vacations.php", "other-prizes.php")) {
echo ("class=\"current\"");
}
?>
$filenames = array("vehicles.php","vacations.php","other-prizes.php");
if (in_array($filename, $filenames)) {
// code here
}