我有這樣用鹼陣列
$baseArray = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20);
所以我想使範圍
$arrayOne = from index 5 - 10
$arrayTwo = from index 15 - 20
我如何拆分$ baseArray兩個數組的數組從範圍創建元素的數組在數組中像這樣的數組?
我有這樣用鹼陣列
$baseArray = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20);
所以我想使範圍
$arrayOne = from index 5 - 10
$arrayTwo = from index 15 - 20
我如何拆分$ baseArray兩個數組的數組從範圍創建元素的數組在數組中像這樣的數組?
這應該爲你工作:
(只有當你有一個索引以數字開頭的0作品)
$baseArray = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20);
$arrayOne = array();
$arrayTwo = array();
foreach($baseArray as $k => $v) {
if($k >= 5 && $k <= 10)
$arrayOne[] = $v;
elseif($k >= 15 && $k <= 20)
$arrayTwo[] = $v;
}
print_r($arrayOne);
print_r($arrayTwo);
輸出:
arrayOne:
Array
(
[0] => 6
[1] => 7
[2] => 8
[3] => 9
[4] => 10
[5] => 11
)
arrayTwo:
Array
(
[0] => 16
[1] => 17
[2] => 18
[3] => 19
[4] => 20
)
你不能依賴這個鍵,鑰匙可以是任何東西.. – 2014-12-07 09:10:28
有功能array_slice
$baseArray = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20);
$arrayOne = array_slice($baseArray, 5, 10);
$arrayTwo = array_slice($baseArray, 15, 20);
可以嘗試使用for()
& array_slice()
。示例:
$baseArray = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20);
$newAr = array();
for($i = 5; $i < count($baseArray); $i += 10){
$newAr[] = array_slice($baseArray, $i, 5);
}
print '<pre>';
print_r($newAr);
print '</pre>';
您是否閱讀過任何[php.net](http://php.net)文檔? – 2014-12-07 09:03:34
@ Rizier123我嘗試了array_chunk函數和array_slice但沒有結果。 – James 2014-12-07 09:04:08
@Mihaiiorga我讀了,但我用的功能沒有工作 – James 2014-12-07 09:04:54