Php 减少if/else语句

Php 减少if/else语句,php,shrink,Php,Shrink,我已经编写了一个非常简单的if语句来检查url。它工作得很好,但是有没有办法把它缩小 <?php if ($_SERVER['REQUEST_URI'] === "/jim.html") { ?> <a class="btn btn-primary dropdown-toggle btn-gallery" data-toggle="dropdown" href="#">Inman jim <i class="fa fa-angle-down">

我已经编写了一个非常简单的if语句来检查url。它工作得很好,但是有没有办法把它缩小

    <?php if ($_SERVER['REQUEST_URI'] === "/jim.html") { ?>
    <a class="btn btn-primary dropdown-toggle btn-gallery" data-toggle="dropdown" href="#">Inman jim <i class="fa fa-angle-down"></i></a>
    <?php } elseif ($_SERVER['REQUEST_URI'] === "/bob.html") { ?>
    <a class="btn btn-primary dropdown-toggle btn-gallery" data-toggle="dropdown" href="#">bob <i class="fa fa-angle-down"></i></a>
    <?php } elseif ($_SERVER['REQUEST_URI'] === "/dereck.html") { ?>
    <a class="btn btn-primary dropdown-toggle btn-gallery" data-toggle="dropdown" href="#">dereck <i class="fa fa-angle-down"></i></a>
    <?php } elseif ($_SERVER['REQUEST_URI'] === "/maxamilamatronicus") { ?>
    <a class="btn btn-primary dropdown-toggle btn-gallery" data-toggle="dropdown" href="#">maxamilamatronicus <i class="fa fa-angle-down"></i></a>

只需在下拉菜单中显示正确的标题即可


谢谢

使用
开关
更易于阅读和维护:

switch ($_SERVER['REQUEST_URI']) {
    case "/jim.html" : ?>
                         <a class="btn btn-primary dropdown-toggle btn-gallery" data-toggle="dropdown" href="#">Inman jim <i class="fa fa-angle-down"></i></a><?php
                         break;
    case "/bob.html" : ?>
                         <a class="btn btn-primary dropdown-toggle btn-gallery" data-toggle="dropdown" href="#">bob <i class="fa fa-angle-down"></i></a><?php
                         break;
    case "/dereck.html" : ?>
                         <a class="btn btn-primary dropdown-toggle btn-gallery" data-toggle="dropdown" href="#">dereck <i class="fa fa-angle-down"></i></a><?php
                         break;
    case "/maxamilamatronicus" : ?>
                         <a class="btn btn-primary dropdown-toggle btn-gallery" data-toggle="dropdown" href="#">maxamilamatronicus <i class="fa fa-angle-down"></i></a><?php
                         break;

}
开关($\u服务器['REQUEST\u URI'])){
案例“/jim.html”:>

使用
开关
更易于阅读和维护:

switch ($_SERVER['REQUEST_URI']) {
    case "/jim.html" : ?>
                         <a class="btn btn-primary dropdown-toggle btn-gallery" data-toggle="dropdown" href="#">Inman jim <i class="fa fa-angle-down"></i></a><?php
                         break;
    case "/bob.html" : ?>
                         <a class="btn btn-primary dropdown-toggle btn-gallery" data-toggle="dropdown" href="#">bob <i class="fa fa-angle-down"></i></a><?php
                         break;
    case "/dereck.html" : ?>
                         <a class="btn btn-primary dropdown-toggle btn-gallery" data-toggle="dropdown" href="#">dereck <i class="fa fa-angle-down"></i></a><?php
                         break;
    case "/maxamilamatronicus" : ?>
                         <a class="btn btn-primary dropdown-toggle btn-gallery" data-toggle="dropdown" href="#">maxamilamatronicus <i class="fa fa-angle-down"></i></a><?php
                         break;

}
开关($\u服务器['REQUEST\u URI'])){
案例“/jim.html”:>

您可以在PHP中使用switch case。哪一种更有效。请看下面的示例:

另外,尽量将下面的内容放在PHP之外,这样可以提高可读性和效率

<a class="btn btn-primary dropdown-toggle btn-gallery" data-toggle="dropdown">

您可以在PHP中使用switch case。哪一种更有效。请看下面的示例:

另外,尽量将下面的内容放在PHP之外,这样可以提高可读性和效率

<a class="btn btn-primary dropdown-toggle btn-gallery" data-toggle="dropdown">

下面是一个更简单的代码,它给出了相同的结果:

<?php 
$menus = [
    '/jim.html'     => [ 'title' => 'Inman jim', 'href' => '#'],
    '/bob.html'     => [ 'title' => 'bob', 'href' => '#'],
    '/dereck.html'  => [ 'title' => 'dereck', 'href' => '#'],
    '/maxamilamatronicus' => [ 'title' => 'maxamilamatronicus', 'href' => '#']
];
$menu = ['title' => 'Unknown', 'href' => '#'];
if(isset($menus[$_SERVER['REQUEST_URI']]))
    $menu = $menus[$_SERVER['REQUEST_URI']];
?>
<a class="btn btn-primary dropdown-toggle btn-gallery" data-toggle="dropdown" href="<?=$menu['href']?>">
    <?= $menu['title'] ?>
    <i class="fa fa-angle-down"></i>
</a>


请注意,如果
$服务器['REQUEST\u URI']
不等于
$菜单中的任何键,则文本将为
“未知”

以下是一个更简单的代码,给出了相同的结果:

<?php 
$menus = [
    '/jim.html'     => [ 'title' => 'Inman jim', 'href' => '#'],
    '/bob.html'     => [ 'title' => 'bob', 'href' => '#'],
    '/dereck.html'  => [ 'title' => 'dereck', 'href' => '#'],
    '/maxamilamatronicus' => [ 'title' => 'maxamilamatronicus', 'href' => '#']
];
$menu = ['title' => 'Unknown', 'href' => '#'];
if(isset($menus[$_SERVER['REQUEST_URI']]))
    $menu = $menus[$_SERVER['REQUEST_URI']];
?>
<a class="btn btn-primary dropdown-toggle btn-gallery" data-toggle="dropdown" href="<?=$menu['href']?>">
    <?= $menu['title'] ?>
    <i class="fa fa-angle-down"></i>
</a>
<a class="btn btn-primary dropdown-toggle btn-gallery" data-toggle="dropdown" href="#">
<?php
switch ($_SERVER['REQUEST_URI']) {
       case '/jim.html': $a='Inman jim'; break;
       case '/bob.html': $a='bob'; break;
       case '/dereck.html': $a='dereck'; break;
       case '/maxamilamatronicus': $a='maxamilamatronicus'; break;
       default: $a='';
}
echo $a;
?>
<i class="fa fa-angle-down"></i></a>

请注意,如果
$服务器['REQUEST\u URI']
不等于
$菜单中的任何键,则文本将为
“未知”


<a class="btn btn-primary dropdown-toggle btn-gallery" data-toggle="dropdown" href="#">
<?php
switch ($_SERVER['REQUEST_URI']) {
       case '/jim.html': $a='Inman jim'; break;
       case '/bob.html': $a='bob'; break;
       case '/dereck.html': $a='dereck'; break;
       case '/maxamilamatronicus': $a='maxamilamatronicus'; break;
       default: $a='';
}
echo $a;
?>
<i class="fa fa-angle-down"></i></a>


一个case或三元运算符或一个case或三元运算符都是很好的答案。我是php新手,所以这是一个很大的帮助。谢谢!欢迎:)如果解决方案解决了您的问题,请标记为已回答:)我在bob case上收到一个语法错误,这是因为php标记没有正确启动和结束。现在检查:)是的,just也发现了:p谢谢!所有的答案都很好。我是php新手,所以这是一个巨大的帮助。谢谢!欢迎:)如果解决方案解决了您的问题,请标记为已回答:)我在bob案例中得到一个语法错误,这是因为php标记没有正确启动和结束。现在检查:)是的,也发现了:p谢谢!很可能是he在href中需要不同的URL用于不同的情况:)谢谢。我在学习基本的atm,我不知道这意味着什么。:p很可能他在href中需要不同的URL用于不同的情况:)谢谢。我在学习基本的atm,我不知道这意味着什么。:p