php оператор if-Statement против списка, нужна помощь в оптимизации - PullRequest
1 голос
/ 28 мая 2011

Итак, я пытаюсь собрать небольшую облегченную платформу для некоторых базовых сайтов, которые я создаю для своих клиентов хостинга, и я пытаюсь обратиться к различным файлам index.php.

Я понял это, но чувствую, что должен быть лучший способ написать следующее выражение if:

<?php
        if('home'==$currentpage)
        {
        include('shared/footer.htm');
        }   
        elseif('testing'==$currentpage)
        {
        include('shared/footer.htm');
        }
        elseif('training'==$currentpage)
        {
        include('shared/footer.htm');
        }
        elseif('contact'==$currentpage)
        {
        include('shared/footer.htm');
        }
        elseif('pricing'==$currentpage)
        {
        include('shared/footer.htm');
        }
    ?>

Я получил следующее для работы, он использует то, что когда-либо последний элемент в списке:

$arr = array('home', 'testing', 'training', 'contact');
        foreach ($arr as &$value);

        if ($value==$currentpage)
        {
        include('shared/footer.htm');
        }

Тот отобразит footer.htm на странице контактов, но ни один из остальных, если я переключу его, тогда он покажет, что когда-либо заканчивается элементом в последний раз, я также попробовал оператор foreach, и он разбивает страницу так, Я бросил это и решил, что буду просить о помощи.

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 28 мая 2011
$arr = array('home', 'testing', 'training', 'contact','pricing');
if (in_array($currentpage,$arr))
{
   include('shared/footer.htm');
}
0 голосов
/ 28 мая 2011

Вы можете иметь карту, а затем использовать ее для вызова правильной страницы.Вы можете удалить пути, если у вас нет разных путей к вашим файлам.Я предполагаю, что это опечатка.

$pages = array(
   'home' => 'shared/footer.htm',
   'testing' => 'shared/footer.htm',
   'training' => 'shared/footer.htm'
); //and so forth

if (isset($pages[$currentpage])) {
    include($pages[$currentpage]);
} else {
   //show default page
}
0 голосов
/ 28 мая 2011

Вы можете использовать простой список массивов:

$arrPage = array(
 'home' => 'shared/footer.htm',
 'testing' => 'shared/footer.htm',
 'training' => 'shared/footer.htm',
 'contact' => 'shared/footer.htm',
 'pricing' => 'shared/footer.htm',
);
if( array_key_exists( $arrPage, $currentPage ))
    include($arrPage[$currentpage]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...