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;
}

我的问题是如何做到这一点,以便为会话中选择的一周中的每一天显示逗号,除了最后一天。

例如:选择了周日和周二。所以会显示“Su, T”

提前致谢!

4

4 回答 4

7

使用内爆()

$days = array("Su", "M", ....., "Sa");
echo implode(",", $days);
于 2012-04-11T18:14:45.177 回答
3

在你的 ifs 添加一个逗号:

$daysUsed = "Whatever, ";

然后在输出最终字符串之前:

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

编辑: -1 需要为-2,以说明天数之间的间隔。

于 2012-04-11T18:14:55.183 回答
1

我会使用一个数组并内爆它,但在你的情况下我需要使用它

echo substr($daysUsed,0,-1)

在这种情况下,我从字符串中删除最后一个字符

于 2012-04-11T18:15:05.500 回答
0

$daysUsed = trim($daysUsed, "," );

trim() 是迄今为止更好的选择-最小的功能,可以满足您的预期目的。

于 2012-04-11T18:49:26.830 回答