我的阵列来自' 00:00'到了这样的事情[' 00:00',' 00:01' ......' 23:59:59']。
我需要编写一个函数来将数组长度减少为n个项目,但始终保留第一个和最后一个元素。
一个例子:
reduce_into($array, 3) -> ['00:00:00', '12:00:00', '23:59:59']
请注意,数组必须是" balance",这意味着当我将它减少为3个元素时,它将返回第一个,中间的一个和最后一个。
答案 0 :(得分:2)
Here's the code:
function getnewarray($t,$i)
{
$newArr[0] = $t[0];
$a = 1;
$masterdivby = $divby = count($t) / ($i-1);
$ni = $i-2;
while($a <= $ni)
{
$newArr[$a] = $t[$divby];
$divby = $masterdivby + $divby;
$a++;
}
$newArr[$i] = $t[count($t) - 1];
return $newArr;
}
?>