2015-07-12 53 views
1

我正在嘗試將$datestring分配給DAYWDEK - 例如, 週日週一等,因爲%w值是數字 - 這意味着1日,2是週二等等codeignitor中的日期問題php

這是一個codeignitor項目,我的代碼運行的第一個條件語句是否是真還是假!請幫忙。

 public function data() 
{ 

$datestring = "%w"; 
$time = time(); 

echo mdate($datestring, $time); 


if ($datastring = "1") { 

    echo "monday"; 
} 
else if ($datastring = "2") { 

    echo "tuesday"; 
} 
else if ($datastring = "3") { 

    echo "wednesday"; 
}  

else if ($datastring = "4") { 

    echo "thursday"; 
} 

else if ($datastring = "5") { 

    echo "friday"; 
} 
else if ($datastring = "6") { 

    echo "saturday"; 
} 

else if ($datastring = "7") { 

    echo "sunday"; 
} 
return; 
    } 

回答

0

要比較你需要雙==,因爲=是分配的。並將「1」賦值給變量$ datastring始終爲真,因此總是首先如果爲真。將其更改爲:

if ($datastring == "1") { 

    echo "monday"; 
} 
else if ($datastring == "2") { 

    echo "tuesday"; 
} 
else if ($datastring == "3") { 

    echo "wednesday"; 
}  

else if ($datastring == "4") { 

    echo "thursday"; 
} 

else if ($datastring == "5") { 

    echo "friday"; 
} 
else if ($datastring == "6") { 

    echo "saturday"; 
} 
else if ($datastring == "7") { 

    echo "sunday"; 
} 

編輯:我還添加了一個else if語句星期天。您可以使用這個簡單的else也因爲沒有其他選擇留(只要$ datastring只能含量的數字1到七人。

爲了使它更清潔,我會用switch

switch ($datastring) { 

    case 1: 
    $day = "monday"; 
    break; 
    case 2: 
    $day = "tuesday"; 
    break; 
    case 3: 
    $day = "wednesday"; 
    break; 
    case 4: 
    $day = "thursday"; 
    break; 
    case 5: 
    $day = "friday"; 
    break; 
    case 6: 
    $day = "saturday"; 
    break; 
    case 7: 
    $day = "sunday"; 
    break; 
    default: 
    $day = "unknown day"; 
    break;  
} 

echo $day; 
+0

謝謝,開關工作的很完美,我從不知道什麼時候使用開關編程,現在我知道了一種方法 –

+1

歡迎您如果對您有用,請將其投票並接受以向社區表明它對您的幫助你有你的問題,祝你有個美好的一天! – bish

+0

當我獲得15個聲望時,我只能投票。 –