0

我做了很多改变,但仍然无法弄清楚。我有一个数组可以说:[1,2,3,4,5,6,7,8,9,10] 我只想问如何添加这个数组直到索引 2 并继续添加其余数组然后划分它们每个阵列 2 个。

输入:[1,2,3,4,5,6,7,8,9,10];

过程:[1+2+3, 4+5+6, 7+8+9, 10]

我需要的输出:[6,15,24,10]

然后我想把这个数组切成2

最后输出:[[6,5],[24,10]]

谢谢

4

4 回答 4

4

您的代码将是:

$data   = range(1,10);
$result = array_chunk(array_map('array_sum', array_chunk($data, 3)), 2);

-请阅读数组函数手册

于 2013-10-22T09:40:35.333 回答
1

Something like this?

<?php
$array = range(1, 10);

$array = array_chunk($array, 3);

$array = array_map('array_sum', $array);

$array = array_chunk($array, 2);

print_r(
    $array
);

/*
    Array
    (
        [0] => Array
        (
            [0] => 6
            [1] => 15
        )
        [1] => Array
        (
            [0] => 24
            [1] => 10
        )
    )
*/
于 2013-10-22T09:43:10.377 回答
0

我认为您可以使用 for 循环来总结您需要的内容,然后将结果存储在新数组中。另一种解决方案是使用数组合并。当你完成这个技巧后,你可以创建一个 多维数组来获得类似 [[6,5],[24,10]] 的结果。

希望能帮助到你

于 2013-10-22T09:39:07.230 回答
0

看不出你从这个问题中得到了什么,但我认为 PHP 的 array_chunk 命令可能是你的朋友,http: //www.php.net/manual/en/function.array-chunk.php

这将允许您将数组拆分为 3 个(或任意数量)元素的块,最后一个元素包含剩余部分(在本例中为 1 个元素)

于 2013-10-22T09:59:21.013 回答