2014-10-27 52 views
0

我想有一個PHP網頁說只是簡單:數組和IF-標籤

"Hi, today its ___day have a nice week!" 

"Hi, today its ___day have a nice weekend!". 

我有個大氣壓的代碼(在某些點比較遺憾的是隨機瑞典):

setlocale(LC_TIME, 'english'); 
$day = strftime('%A', time()); 
$week=array("monday","tuesday","wednesday","thursday","friday","saturday","sunday"); 
if ($day<"saturday"); 
{ 
    echo "Idag är det " . $day . "Ha en trevlig vardag!"; 
} 
else if ($day>"friday"); 
{ 
    echo "Idag är det " . $day . "Ha en trevlig helg!"; 
} 
else ($day="sunday"); 
{ 
    echo "Idag är det " . $day . "Ha en trevlig vecka!"; 
} 
+0

如果你echo $ day,它會產生什麼? – 2014-10-27 18:58:56

+1

另外,我很確定'>'和'<'引用整數?所以不確定你可以檢查一個字符串是否小於或大於另一個字符串?你會想要使用'=='或'!='我想 – 2014-10-27 19:00:42

+0

看看https://stackoverflow.com/editing-help它應該幫助你格式化你的文章。當粘貼代碼時,選擇它並單擊工具欄上的「{}」按鈕將其放入「代碼塊」中。我修復了這篇文章給你:-) – 2014-10-27 19:01:16

回答

0

首先,沒有必要在這裏建立一個數組來處理。只需使用DateTime對象。你應該能夠大大簡化:

$datetime = new DateTime(); 
// get day of week string 
$message = "Idag är det " . $datetime->format('l'); 
// get day of week number. gives day number 1 (Monday) - 7 (Sunday) 
$day_of_week_number = (int)$datetime->format('N'); 
switch ($day_of_week_number) { 
    case 7: 
     $message .= ' Ha en trevlig vecka!'; 
     break; 
    case 6: 
     $message .= ' Ha en trevlig helg!'; 
     break; 
    default: 
     $message .= ' Ha en trevlig vardag!'; 
     break; 
} 
echo $message; 
+0

這很好,但對我來說,只是閱讀代碼,我理解nada ..哈.. 實際上是可以做到這一點使用相同的代碼作爲我「有點」,但與數組? – 2014-10-27 19:13:50

+0

@PontusLundh爲什麼不需要數組時?PHP已經建成 - 能夠處理日期,包括我在我的例子中使用的非常有用的DateTime類,它允許你簡單地爲當前日期和時間實例化一個對象,然後形成以不同的方式。這裏是所有支持格式化字符的列表 - http://php.net/manual/en/function.date.php正如你所看到的選項非常強大。 – 2014-10-27 19:24:09

+0

@PontusLundh這裏第一行代碼實例化DateTime對象。接下來的兩行以兩種不同的格式(全周文本和星期幾號)獲取當前日期。 switch語句然後比較星期幾的值和您的選項以完成句子。 – 2014-10-27 19:28:17