Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress/PHP获取两个日期之间的天数并创建数组_Php_Arrays_Wordpress - Fatal编程技术网

Wordpress/PHP获取两个日期之间的天数并创建数组

Wordpress/PHP获取两个日期之间的天数并创建数组,php,arrays,wordpress,Php,Arrays,Wordpress,我有一个针对假期的自定义帖子类型,其中有一些Datepicker类型的自定义字段用于设置开始和结束日期。现在,我想获取这些日期之间的所有日期,并将它们添加到一个数组中 function get_vacation_dates(){ global $post; $args = array( 'post_type' => array('vacationperiods'), 'post_status' => array('publish'), 'order' =

我有一个针对假期的
自定义帖子类型
,其中有一些Datepicker类型的自定义字段用于设置开始和结束日期。现在,我想获取这些日期之间的所有日期,并将它们添加到一个数组中

function get_vacation_dates(){
global $post;

  $args = array(
    'post_type' => array('vacationperiods'),
    'post_status' => array('publish'),
    'order' => 'ASC'
  );

  $posts = get_posts($args);
  $vac = [];
  foreach ($posts as $post){

    $vacationTitle = get_field('name', $post->ID);
    $startDate = get_field('vacation_start', $post->ID);
    $endDate = get_field('vacation_end', $post->ID);

    // GET ALL DAYS/DATES
    for ($i=$startDate; $i<=$endDate; $i+=86400) {  
        $days = date('Y-m-d', $i);
    }       

    $duration = dateDiff($startDate, $endDate);

    $vac[] = [
        'name' => $vacationTitle,
        'start' => $startDate,
        'end' => $endDate,
        'duration' => $duration,
        'days' => $days
    ];



  }

  echo json_encode($days);

  die();
}
函数获取假期日期(){
全球$员额;
$args=数组(
'post_type'=>数组('vacationperiods'),
“发布状态”=>array('publish'),
“订单”=>“ASC”
);
$posts=get_posts($args);
$vac=[];
foreach($posts作为$post){
$vacationTitle=get_字段('name',$post->ID);
$startDate=get\u字段('vacation\u start',$post->ID);
$endDate=get_字段('vacation_end',$post->ID);
//获取所有日期/日期
对于($i=$startDate;$i$vacationTitle),
“开始”=>$startDate,
'end'=>$endDate,
“持续时间”=>$duration,
“天”=>$days
];
}
echo json_编码(天);
模具();
}
这种方法不起作用,它给了我
“天:'1970-01-01'”
——但正如前面提到的,我想把所有的天都列为一个数组,比如“天:
['2018-09-13'、'2018-09-14'等]

如何实现这一点?

该函数将英文文本DateTime解析为Unix时间戳(自1970年1月1日00:00:00 GMT以来的秒数)

大概是这样的:

$days = array();
    // GET ALL DAYS/DATES
        for ($i=strtotime($startDate); $i<=strtotime($endDate); $i+=86400) {  
            $days[] = date('Y-m-d', $i);
        } 
$days=array();
//获取所有日期/日期
对于($i=strotime($startDate);$i函数将英文文本DateTime解析为Unix时间戳(自1970年1月1日00:00:00 GMT以来的秒数)

大概是这样的:

$days = array();
    // GET ALL DAYS/DATES
        for ($i=strtotime($startDate); $i<=strtotime($endDate); $i+=86400) {  
            $days[] = date('Y-m-d', $i);
        } 
$days=array();
//获取所有日期/日期

对于($i=strottime($startDate);$I将日期转换为strottime。将日期转换为strottime。出于某种原因,这只会给我结果的endDate:-/你是指循环的最后日期吗?是的,确切地说,循环的最后日期实际上,
$days
是一个变量。它用最后一个值覆盖。它应该定义一个数组或根据需要定义。将
$days
定义为数组
$days=array();
。请参阅更新后的答案。出于某种原因,这只会给我结果的结束日期:-/你是指循环的最后日期吗?是的,确切地说,循环的最后日期实际上,
$days
是一个变量。它用最后一个值覆盖。它应该定义一个数组或根据需要定义。将
$days
定义为数组
$days=array();
。请参阅更新的答案。