PHP Array Slice理解

时间:2014-07-04 13:43:58

标签: php arrays

我有以下数组:

阵列

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,但保留其他所有内容。

有谁能解释我哪里出错?

2 个答案:

答案 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)

切片