从PHP字符串中的日期列表中获取今天最紧密的日子

时间:2013-05-27 23:43:08

标签: php

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

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

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

我正在获得今天的价值:

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

任何人都知道如果没有阵列我怎么能这样做?谢谢大家!!

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分:2)

(我知道,应该写成评论,但还不能)Yotam的代码将字符串转换为数组。它工作得很好,我不确定你为什么不想使用数组。

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