我有這樣的代碼:如何重構這些if語句?
<div id="menu">
<ul>
<li><span id="menulabel">Your Languages</span></li>
<?php
$hotClass = '';
$newClass = '';
$topClass = '';
if ($sort == 'hot')
$hotClass = 'active';
else if ($sort == 'new')
$newClass = 'active';
else if ($sort == 'top')
$topClass = 'active';
?>
<li><a id="Hot" href="index.php?sort=hot&page=1" class="<?php echo $hotClass; ?>">Hot</a></li>
<li><a id="New" href="index.php?sort=new&page=1" class="<?php echo $newClass; ?>">New</a></li>
<li><a id="Top" href="index.php?sort=top&page=1" class="<?php echo $topClass; ?>">Top</a></li>
</ul>
</div>
根據其排序的頁面使用不同的菜單項被高亮顯示給用戶。但是,我真的不喜歡這個代碼,因爲當列表項不活動時,類是空的而不是不存在的。另外,每個if語句基本上都是一樣的。是否有可能將此重構爲更優雅和可讀的內容?謝謝。
,如果你不喜歡可以空類的屬性,你甚至可以把裏面那些像< ?php echo($ sort =='hot')? 'class =「active」':''?> – Matijs 2011-03-24 22:49:19