减少阵列

时间:2015-11-01 01:25:17

标签: php arrays

我的阵列来自' 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个元素时,它将返回第一个,中间的一个和最后一个。

1 个答案:

答案 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;
            }
            ?>