Конденсация массивов PHP? - PullRequest
1 голос
/ 19 июля 2011

Здравствуйте. У меня есть следующий код для генерации меню навигации / страницы и применения элемента стиля к активной странице.Я хотел бы знать, как я могу сгущать код, а не иметь два объединенных массива?

Вот мой текущий код, разница между ними заключается в выводе html-ссылки.Ссылка «Домой» должна быть <a href="./'. $k .'">'. $v .'</a>

В то время как другие страницы должны иметь <a href="./?p='. $k .'">'. $v .'</a>

<?php

    $current = array(
    "" => "Home"
    );
    foreach( $current as $k => $v ) {
        $active = $_GET['p'] == $k
        ? ' class="current_page_item"'
        : '';
    echo '<li'. $active .'><a href="./'. $k .'">'. $v .'</a></li>';
    }

    $current = array(
        "contact" => "Contact Us",
        "about" => "About Us",
        "privacy" => "Privacy Policy"
    );
    foreach( $current as $k => $v ) {
        $active = $_GET['p'] == $k
            ? ' class="current_page_item"'
            : '';
        echo '<li'. $active .'><a href="./?p='. $k .'">'. $v .'</a></li>';
    }

?>

Любая помощь будет высоко ценится, спасибо:)

Ответы [ 2 ]

1 голос
/ 19 июля 2011

Почти одинаково

$ href = пусто ($ k)? "./": "./?p= enj$k}";

1 голос
/ 19 июля 2011
<?php

$current = array(
    "" => "Home"
    "contact" => "Contact Us",
    "about" => "About Us",
    "privacy" => "Privacy Policy"
);
foreach( $current as $k => $v ) {
    $active = $_GET['p'] == $k
        ? ' class="current_page_item"'
        : '';
    echo '<li'. $active .'><a href="./'.(empty($k)?"":"?p=") . $k .'">'. $v .'</a></li>';
}

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...