了解PHP数组切片


PHP Array Slice understanding

我有以下数组:

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);

然而,在实践中,这所做的是删除索引039,但保留其他所有内容。

谁能解释我哪里错了?

试试:

$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)

切片