Объедините ваши массивы или поместите всю эту логику в другую хорошо названную функцию. Мой пример объединяет массивы.
// it's ugly, but at least the ugliness
// is confined to only _one_ array ;)
$map_pages_to_navitem = array(
'home' => 'home',
'users.online' => 'users',
'users.online.male' => 'users',
'users.online.female' => 'users',
'users.online.friends' => 'users',
'users.location' => 'users',
'users.featured' => 'users',
'users.new' => 'users',
'users.browse' => 'users',
'users.search' => 'users',
'users.staff' => 'users',
'forum' => 'forum',
'widgets' => 'more',
'news' => 'more',
'promote' => 'more',
'development' => 'more',
'bookmarks' => 'more',
'about' => 'more',
'account.money' => 'money',
'account.store' => 'money',
'account.lottery' => 'money',
'users.top.money' => 'money',
'account' => 'account'),
'mail.inbox' => 'mail',
'mail.sentbox' => 'mail',
'mail.trash' => 'mail',
'bulletins.post' => 'mail',
'bulletins.my' => 'mail',
'bulletins' => 'mail',
);
$current = $map_pages_to_navitem[$page_name];
echo '<li class="'.($current=='home')?'current':''.'"><a href=""><em>Home</em></a></li>';
echo '<li class="'.($current=='users')?'current':''.'"><a href=""><em>Users</em></a></li>';
echo '<li class="'.($current=='forum')?'current':''.'"><a href=""><em>Forum</em></a></li>';
echo '<li class="'.($current=='more')?'current':''.'"><a href=""><em>More</em></a></li>';
echo '<li class="'.($current=='money')?'current':''.'"><a href=""><em>Money</em></a></li>';
echo '<li class="'.($current=='account')?'current':''.'"><a href=""><em>Account</em></a></li>';
echo '<li class="'.($current=='mail')?'current':''.'"><a href=""><em>Mail</em></a></li>';
Глядя на код, я также вижу конечный результат - присвоить элементу <li>
значение атрибута класса. JavaScript сделает это лучше, чем PHP.
Таким образом, вы можете присвоить каждому <li>
идентификатор и оставить присвоение атрибута класса JavaScript:
echo '<li id="home"><a href=""><em>Home</em></a></li>';
echo '<li id="users"><a href=""><em>Users</em></a></li>';
echo '<li id="forum"><a href=""><em>Forum</em></a></li>';
echo '<li id="more"><a href=""><em>More</em></a></li>';
echo '<li id="money"><a href=""><em>Money</em></a></li>';
echo '<li id="account"><a href=""><em>Account</em></a></li>';
echo '<li id="mail"><a href=""><em>Mail</em></a></li>';
echo '<script type="text/javascript">';
echo 'document.getElementById("'.$current.'").className = "current";';
// you'll want to sanitize $current to avoid parse errors in your JS
echo '</script>'