1

我需要查看字符串的内容并确定今天最接近的那一天。

例如。假设我有一个名为$available_day_list“星期一、星期四、星期五、星期六”的字符串。

根据上面的列表,如果今天是星期二,我想显示“星期四”。如果今天是星期六,我想显示“星期二”。

我得到了今天的价值:

$current_day = date("l");
$current_day = strtolower($current_day);

任何人都知道我如何在没有数组的情况下做到这一点?谢谢大家!!

4

2 回答 2

3

尝试这个:

$days = explode(',',$available_day_list);

$closestDay = '';
$minTime = 620000;// more than a week

foreach($days as $day){
    $diff = strtotime('next '.$day) - time();
    if($diff < $minTime){
        $closestDay = $day;
        $minTime = $diff;
    }
}

echo $closestDay;
于 2013-05-27T23:50:08.157 回答
2

(我知道,应该写成注释,但还不能) Yotam 的代码将字符串转换为数组。而且效果很好,我不确定你为什么不想使用数组。

如果你真的不这样做,你基本上必须确定当天,然后在字符串中搜索下一天,如果不是下一天,依此类推,直到找到一个。

于 2013-05-27T23:59:26.833 回答