我做了很多改變,但仍然無法弄清楚。 我有一個數組讓我說:[1,2,3,4,5,6,7,8,9,10] 我只是想問如何添加此數組,直到索引2,並繼續添加休息數組然後將它們分成2個數組。PHP:如何添加數組索引然後切成幾個數組?
input:[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]
感謝
我做了很多改變,但仍然無法弄清楚。 我有一個數組讓我說:[1,2,3,4,5,6,7,8,9,10] 我只是想問如何添加此數組,直到索引2,並繼續添加休息數組然後將它們分成2個數組。PHP:如何添加數組索引然後切成幾個數組?
input:[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]
感謝
您的代碼將是:
$data = range(1,10);
$result = array_chunk(array_map('array_sum', array_chunk($data, 3)), 2);
- 請閱讀array functions手動
我想你可以使用一個FOR循環來總結你然後需要存儲結果在新陣列中。另一種解決方案是使用array merge。當你完成這個技巧後,你可以創建一個multidimensional array來獲得像[[6,5],[24,10]]的結果。
希望它可以幫助
已經有Alma Do Mundo和Anthony Sterling的解決方案。順便說一句,謝謝Stefano Bosio :) – airi
像這樣的事情?
<?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
)
)
*/
嗨安東尼斯特林,謝謝你的解決方案。你的解決方案也可以.. :) – airi
實在看不出你是從這個問題得到什麼的,但我認爲PHP的array_chunk命令可能是你的這個朋友,http://www.php.net/manual/en/function.array-chunk.php
這將讓您的陣列分割成塊3(或任意數量)元素的最後一個元素包含其餘元素(在本例中爲1個元素)
我想用谷歌的圖表。順便說一下,已經得到答案。感謝Pete Ravenscroft :) – airi
[array_chunk()](http://php.net/manual/en/function.array-chunk。 PHP)(大小參數爲3),[array_map()](http://www.php.net/manual/en/function.array-map.php)或[array_walk()](http:// www.php.net/manual/en/function.array-walk.php)在做一個[array_sum()](http://www.php.net/manual/en/function.array-sum.php)添加值組;然後[array_chunk()](http://php.net/manual/en/function.array-chunk.php),大小參數爲2 –
謝謝Mark Barker。已經有解決方案了:P – airi