我有以下数组:
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
,但保留其他所有内容。
谁能解释我哪里错了?
试试:
$array = array_slice($array, 40, 65 - 40);
:
$array = array_slice($array, 40, 25);
我们从40个位置开始切片,得到25个元素(在40+25=65个位置结束)
数组切片选择偏移量和长度,而不是开始偏移量和结束偏移量。它从开始偏移量开始,并选择下一个长度元素。如果你的数组有连续的索引(0,1,2,3,4…),那么它将从[offset -> offset + length)