Ошибка синтаксического анализа PHP if-else - PullRequest
0 голосов
/ 31 января 2012

Я наконец начал изучать PHP, и у меня возникли проблемы с ним.Я пытаюсь заставить веб-сайт изменить свою таблицу стилей в соответствии с моментом дня (день, сумерки, ночь), и я выбрал такой подход:

<?php
    $lt = localtime();
    if ($lt[2]>=6 && $lt[2]<=16)
       echo('<link href="style.css" rel="stylesheet" type="text/css" />');
    elsif ($lt[2]>=17 && $lt[2]<=21)
        echo('<link href="style_twilight.css" rel="stylesheet" type="text/css" />');
    else
        echo('<link href="style_night.css" rel="stylesheet" type="text/css" />');
?>

Я получаю синтаксическая ошибка, неожиданнаяT_ECHO в ..... / style_changer.php в строке 12

Что я делаю не так?

Ответы [ 4 ]

2 голосов
/ 31 января 2012

elseif / else if manual

Его elseif (без пробела между else & if) не elsif

elseif ($lt[2]>=17 && $lt[2]<=21)
0 голосов
/ 01 февраля 2012

Попробуйте:

 $lt = localtime();
    if ($lt >= 6 && $lt <= 16){
        echo '<link href="style.css" rel="stylesheet" type="text/css" />';
          }
    elseif ($lt >= 17 && $lt <= 21){
        echo '<link href="style_twilight.css" rel="stylesheet" type="text/css" />';
          }
    else{
        echo '<link href="style_night.css" rel="stylesheet" type="text/css" />';
          }

Во-первых: это elseif(){ Do something } //Note the Curly brackets

Во-вторых: Ваш echo ('something';) неверен.Должно быть: echo 'нечто';

Третье: нет необходимости в $lt[2] $lt, отлично работает

0 голосов
/ 31 января 2012

Чтобы очистить ваш код:

<?php
$lt = localtime();

if ($lt[2]>=6 && $lt[2]<=16) {
   echo '<link href="style.css" rel="stylesheet" type="text/css" />';
} elseif ($lt[2]>=17 && $lt[2]<=21) {
   echo '<link href="style_twilight.css" rel="stylesheet" type="text/css" />';
} else {
   echo '<link href="style_night.css" rel="stylesheet" type="text/css" />';
}
?>

Облегчает чтение, также используйте {} для разделения логики, все это для чтения вашего кода позже (вашего или кого-то еще)

0 голосов
/ 31 января 2012

сначала очень простая опечатка elsif вместо els_e_if.

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