我需要查看字符串的内容并确定今天最接近的那一天。
例如。假设我有一个名为$available_day_list
“星期一、星期四、星期五、星期六”的字符串。
根据上面的列表,如果今天是星期二,我想显示“星期四”。如果今天是星期六,我想显示“星期二”。
我得到了今天的价值:
$current_day = date("l");
$current_day = strtolower($current_day);
任何人都知道我如何在没有数组的情况下做到这一点?谢谢大家!!
我需要查看字符串的内容并确定今天最接近的那一天。
例如。假设我有一个名为$available_day_list
“星期一、星期四、星期五、星期六”的字符串。
根据上面的列表,如果今天是星期二,我想显示“星期四”。如果今天是星期六,我想显示“星期二”。
我得到了今天的价值:
$current_day = date("l");
$current_day = strtolower($current_day);
任何人都知道我如何在没有数组的情况下做到这一点?谢谢大家!!
尝试这个:
$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;
(我知道,应该写成注释,但还不能) Yotam 的代码将字符串转换为数组。而且效果很好,我不确定你为什么不想使用数组。
如果你真的不这样做,你基本上必须确定当天,然后在字符串中搜索下一天,如果不是下一天,依此类推,直到找到一个。