日期进入具有内爆和stropos的数组


Date into array with implode and stropos

我有一个日期输入javascript,可以让用户一次向数据库中添加尽可能多的日期,这是使用内爆并存储为一个大字符串,如2015-01-01 2015-01-02等。

我还想知道其中一天是否包含周末。我不知道字符串和日期参数是如何与此匹配的。

$week_end_check = array();    
$week_end_check = implode(' ',date('D'), strtotime($_POST['dates']));
    if ((strpos($week_end_check,'Sun')) || (strpos($week_end_check,'Sat' ))) {
        $weekend = '1';
    }

据我所知,上面的方法行不通,但有人能帮我吗……我希望你能通过上面的方法理解我在追求什么。

这里有一种不那么做作的方法:

$weekend = false;
foreach($_POST['dates'] as $date) {
    $day = (new DateTime($date))->format('D');
    if (in_array($day, array('Sun', 'Sat'))) {
         $weekend = true;
         break;
    }
}
  1. 默认情况下,将$weekend设置为false
  2. 循环浏览每个日期
  3. 获取星期几
  4. 检查它是"太阳"还是"周六"
  5. $weekend设置为true
  6. 一旦我们知道找到了周末,就结束循环

请使用此示例。

$string = "2015-01-01 2015-01-02 2015-01-04 2015-01-06";
$array = explode(" ",$string);
$weekend_array = array();
$total = count($array);
for($i=0;$i<$count;$i++)
{
       $my_day = date("D", strtotime($array[$i]));
       if($my_day=="Sun" || $my_day=="Sat")
       {
               $weekend_array[] = $array[$i];
       }
}
echo "<pre>";
    print_r($weekend_array);
echo "<pre>";