2012-01-31 12 views
-1

私はついにPHPを学び始めました。私は、ウェブサイトは、その日の瞬間に応じてそのスタイルシート(日、夕暮れ、夜)を変更しようとしていると私は、このアプローチを取った:PHP if-else解析エラー

<?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 on line 12

何が間違っていますか?まず、非常に単純なタイプミスELSIF代わりのels_e_ifで

+5

これは[ 'elseif'](http://php.net/manual/en/control-structures.elseif.php)正常に動作しない、とあなたは使用されるべきです中括弧。 – mario

+1

'echo"と入力するだけで読みやすくなるかもしれません何か ";' 'なし' – Jakub

答えて

0

。あなたのコードをクリーンアップする

0

<?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" />'; 
} 
?> 

は、それが読みやすくすることができ、また、ロジックをseperatingため{}を使用し、そのすべての後にコードを読んについて(あなたや他の誰か)

-2

はこれを試してみてください。

$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 'something';

第三は:$lt[2] $ltのための必要はありません