2012-04-11 53 views
2

我有以下if語句可以收集在顯示之前選擇的所有日子。有幾天用逗號顯示除最後一個以外的逗號

$daysUsed = ""; 

if($this->dayweeksunsession==1){ 
    $daysUsed .= "Su "; 
} 

if($this->dayweekmonsession==1){ 
    $daysUsed .= "M "; 
} 

if($this->dayweektuessession==1){ 
    $daysUsed .= "T "; 
} 

if($this->dayweekwedsession==1){ 
    $daysUsed .= "W "; 
} 

if($this->dayweekthurssession==1){ 
    $daysUsed .= "Th "; 
} 

if($this->dayweekfrisession==1){ 
    $daysUsed .= "F "; 
} 

if($this->dayweeksatsession==1){ 
    $daysUsed .= "Sa "; 
} 

if($daysUsed !=="") { 
    echo "</span><br/>Days of the Week: <span class='BoxReviewOutput'>"; 
    echo $daysUsed; 
} 

我在這裏的問題是,我怎麼能做出這種讓逗號將顯示爲一週的每一天,被選爲在會議除了最後一個。

例如:週日和週二被選中。所以它會顯示「蘇,T」

在此先感謝!

回答

3

在您的IFS添加commma:

$daysUsed = "Whatever, "; 

然後你輸出前的最後一個字符串:

$daysUsed = substr($daysUsed, 0, -2);

編輯: -1需要是-2 ,以說明幾天之間的間隔。

+0

在你的例子中,它應該是'-2',因爲你在字符串中也有空格。 – 2012-04-11 18:19:39

+0

@AshBurlaczenko:我意識到這一點,並在您評論之前更新:) – Josh 2012-04-11 18:20:28

+0

感謝您的快速回復。 substr工作!將在6分鐘內接受答案。 – Nina 2012-04-11 18:20:40

7

使用implode()

$days = array("Su", "M", ....., "Sa"); 
echo implode(",", $days); 
1

我會使用一個數組和內爆,但在你的情況我需要在這種情況下使用該

echo substr($daysUsed,0,-1) 

我從字符串

0

$ daysUsed =修剪刪除最後一個字符($ daysUsed,「,」);

修剪()是目前爲止最好的選擇 - 最小的功能,做你想爲你的目的。