我有一个这样的数组
$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以在 php 中制作这样的数组?
有函数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);
这应该适合您:
(仅当您的索引以 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);
输出:
阵列一:
Array
(
[0] => 6
[1] => 7
[2] => 8
[3] => 9
[4] => 10
[5] => 11
)
数组二:
Array
(
[0] => 16
[1] => 17
[2] => 18
[3] => 19
[4] => 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>';