Php 如何始终从大于30的日期范围中选取30个日期。并选择「;“中”;日期

Php 如何始终从大于30的日期范围中选取30个日期。并选择「;“中”;日期,php,arrays,math,Php,Arrays,Math,编辑: 让我们忘掉日期吧。如果我有一个60项的数组,这很简单。我挑选数组中的每一项。但是50个项目的数组呢?我必须向上或向下取整才能得到一个30的数组。有没有简单的解决办法?我希望始终包含数组的第一项和最后一项 原件: 我不知道该如何描述这一点。但是我有一个项目(日期)数组,如果数组中的项目超过30个,我希望总是选择30个。从数组中的第一个日期开始到最后一个日期。我怎样做数学挑选出中间的28来均匀地分散? 我的出发点是44项 $max_points = 30; $i_div = round(44

编辑: 让我们忘掉日期吧。如果我有一个60项的数组,这很简单。我挑选数组中的每一项。但是50个项目的数组呢?我必须向上或向下取整才能得到一个30的数组。有没有简单的解决办法?我希望始终包含数组的第一项和最后一项

原件:

我不知道该如何描述这一点。但是我有一个项目(日期)数组,如果数组中的项目超过30个,我希望总是选择30个。从数组中的第一个日期开始到最后一个日期。我怎样做数学挑选出中间的28来均匀地分散?

我的出发点是44项

$max_points = 30;
$i_div = round(44/$max_points, 2);
$i_div = 1,47.
当数组仅使用整数时,如何使用此数字来选择日期?

$itemArray=array();
$itemArray = array();
$items = 44;

$max_points = 30;

$mid_range = 0 + $items / 2;

$start_count = $mid_range-15;

for( $i=$start_count; $i < 30; $i++ ) {
    $itemArray[] = $yourArray[$i];
}
$items=44; $max_points=30; $mid_range=0+$items/2; $start_count=$mid_range-15; 对于($i=$start\u count;$i<30;$i++){ $itemArray[]=$yourArray[$i]; }
好吧,每个月都有28到31天的时间,所以如果你删除了重复的日期,最糟糕的情况就是从列表中删除其中一个日期。。。也许对于你想保留或删除的日期有额外的要求,但你忘了添加到问题中?这似乎对我不起作用。只输出中间的30个日期。不包括边缘。