Как мне написать «Если AND b истинно, тогда загрузить x» - PullRequest
0 голосов
/ 08 марта 2012

Я хочу написать простое условие, в котором говорится, что если AND b истинны, то добавить x ElseIf ... a AND c истинны, а затем добавить x ElseIf, просто сделав это.(Я действительно надеюсь, что это имеет такой же смысл в написании, как и в моей голове.

Текущий код:

if($layout == "carousel") {
    $document->addStyleSheet($modbase.'css/stylev1.css');
    $document->addScript($modbase.'js/jqueryv1.js');
}

В принципе, я хочу, чтобы это делалось ...

if($layout == "carousel" AND BODyID IS B) {
    $document->addStyleSheet($modbase.'css/stylev1.css');
    $document->addScript($modbase.'js/jqueryv1.js');
}
Else if ($layout == "carousel" AND BODYID IS C) {
    $document->addStyleSheet($modbase.'css/stylev2.css');
    $document->addScript($modbase.'js/jqueryv2.js');
}

Но, как вы можете видеть, я не совсем уверен, как будет выглядеть точный код.

Ответы [ 4 ]

3 голосов
/ 08 марта 2012

Просто напиши свое предложение в коде, и ты золотой!

if ($layout == "carousel" && $bodyid == $b)
{
    $document->addStyleSheet($modbase.'css/stylev1.css');
    $document->addScript($modbase.'js/jqueryv1.js');

}
else if($layout == "carousel" && $bodyid == $c)
{
    $document->addStyleSheet($modbase.'css/stylev2.css');
    $document->addScript($modbase.'js/jqueryv2.js');
}
else 
{
    // Just do this
}
2 голосов
/ 08 марта 2012
if($layout == "carousel") {
    if(BODyID == B) {
        $document->addStyleSheet($modbase.'css/stylev1.css');
        $document->addScript($modbase.'js/jqueryv1.js');
    } elseif (BODYID == C) {
        $document->addStyleSheet($modbase.'css/stylev2.css');
        $document->addScript($modbase.'js/jqueryv2.js');
    }
}

Версия Deluxe:

// Assuming that BODYID, B and C are constants and BODyID is a typo.
if ($layout == 'carousel') {

    switch(BODYID) {
        case B:
            $stylesheet = $modbase.'css/stylev1.css';
            $script     = $modbase.'js/jqueryv1.js';
        break;

        case C:
        default:
            $stylesheet = $modbase.'css/stylev2.css';
            $script     = $modbase.'js/jqueryv2.js';
    }

    $document->addStyleSheet($stylesheet);
    $document->addScript($script);
}

Короткая версия:

if ($layout == 'carousel') {
    $stylesheet = BODYID == B ? 'css/stylev1.css' : 'css/stylev2.css';
    $script     = BODYID == B ? 'js/jqueryv1.js'  : 'js/jqueryv2.js';

    $document->addStyleSheet($modbase.$stylesheet);
    $document->addScript($modbase.$script);
}
2 голосов
/ 08 марта 2012

Это конструкция, которую вы ищете:

if ($layout == "carousel" && $bodyId == B) {
    // Code
} elseif ($layout == "carousel" && $bodyId == C) {
    // Code
}

Только если оба условия true, результат равен true.Это базовая булева алгебра .Есть также операторы для either one must be true, то есть || и т. Д.

Если вы боретесь с очень простым синтаксисом, я рекомендую прочитать хорошую книгу или какой-нибудь онлайн-ресурс.Потратьте несколько часов, они очень скоро окупятся!

1 голос
/ 08 марта 2012

Дайте && попробовать.

if(a == b && c == y)
{
    //do something
}
else if(a == b && c == x)
{
    //do something else
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...