我有以下数组:
阵列
Array (
[0] => Array (
...
)
[41] => Array (
[name] => London
[company] => nhyt6t
[top25_1] => 8.75912088
)
[42] => Array (
[name] => Manchester
[company] => gtr4rf
[top25_1] => 6.56758398
)
...
[75] => Array (
[name] => Leeds
[company] => de3wsd6
[top25_1] => 7.58675398
)
)
如果我对http://www.php.net/manual/en/function.array-slice.php的阅读和理解是正确的,那么以下内容应该只返回数组中索引为40到65之间的那些。
$array = array_slice($array, 40, 65);
但是,在实践中,这样做会删除索引0
到39
,但保留其他所有内容。
有谁能解释我哪里出错?
答案 0 :(得分:2)
试试:
$array = array_slice($array, 40, 65 - 40);
所以:
$array = array_slice($array, 40, 25);
我们从40个位置开始切片并获得25个元素(结束于40 + 25 = 65位置)。
答案 1 :(得分:1)
数组切片选择偏移和长度,而不是开始偏移和结束偏移。它从开始偏移开始,并选择下一个长度元素。如果您的数组具有连续索引(0,1,2,3,4 ...),那么它将从[offset -> offset + length)