如果满足条件,如何向菜单项添加id

时间:2011-01-09 00:56:23

标签: php html

如果满足条件,我需要向Li添加ID。我之前做过类似的事情:

if ($school == $array[1])
{ 
echo " id=\"current\"";
}

如果$ school等于$ array [1],它基本上应该添加id“current”但是我不知道该怎么做,因为它是php里面的html里面的PHP而且我没有太多的PHP经验所以我有点失落。

这是我想添加它的地方:

   <?php
    if($array[1] != "")  { echo '<li class="menu-item menu-item-type-post_type menu-item-10">' .
    '<a href="http://chusmix.com/?s=' . $city . '++++' . str_replace(" ", "+", $array[1]) . '">' .
    '' . $array[1] . '' .
    '</a>' .
    '</li>';
    }
    ?>

感谢您提供任何帮助,信息等

2 个答案:

答案 0 :(得分:3)

你的代码很好:

<?php if($array[1] != ""): ?>
    <li id="<?php echo ($school == $array[1] ? 'current' : '' ); ?>" class="menu-item menu-item-type-post_type menu-item-10">
        <a href="http://chusmix.com/?s=<?php echo $city . '++++' . str_replace(' ', '+', $array[1]); ?>">
            <?php echo $array[1]; ?>
        </a>
    </li>
<?php endif; ?>

但是我会减少数字类(或者至少减少长度,menu-item-type-post_type如果不是自动生成的话似乎是不切实际的)并添加一个类current而不是ID。< / p>

此代码使用alternative syntax for control structuresternary opertor

p.s:我不是100%确定如何处理空ID,我认为它只是被忽略了。如果它导致问题,你也可以

<li <?php echo ($school == $array[1] ? 'id="current"' : '' ); ?> ...

答案 1 :(得分:0)

alternative syntax是你的朋友。它可以帮助您减少回声。

<?php if($array[1] != ""): ?>
    <li class="menu-item menu-item-type-post_type menu-item-10"<?php if ($school == $array[1]): ?>id="current"<?php endif; ?>>
    <a href="http://chusmix.com/?s=<?php echo $city . '++++' . str_replace(" ", "+", $array[1]); ?>"><?php echo $array[1]; ?></a>
    </li>
<?php endif; ?>