0

我有一个数组,我不知道数组中有多少元素。它可以是 1,也可以是 500,但我需要元素的最大数量为 21。

我知道我可以使用 来检查长度count(),但是如果长度太长,我该如何剪掉其余部分?谢谢。

4

6 回答 6

4

您可以使用SplFixedArray它来管理固定大小的数组......

   $array = new SplFixedArray(21);

例子

   $array =  SplFixedArray::fromArray($array);
   $array->setSize(21);

请参阅 PHP 文档

于 2012-10-11T15:37:39.657 回答
2

试试这个代码:

if(count($array) > 21){
    $subarray = array_slice($array, 0, 21);
}

解释:

array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )

array_slice() 返回由 offset 和 length 参数指定的数组数组中的元素序列。

于 2012-10-11T15:38:46.707 回答
1

如果您的数组是 $arr 那么:

$subArray = array_slice($arr,0,21);
于 2012-10-11T15:37:22.393 回答
1

您可以使用 array_slice 来切掉超出的部分。

if(count($array) > 21){
    $array = array_slice($array, 0, 21);
}

http://php.net/manual/function.array-slice.php

于 2012-10-11T15:37:51.237 回答
1

您需要array_slice通过将偏移量指定为 0 并将长度指定为 21 来使用。

 if(count($your_array) > 21){
  $new_array = array_slice($your_array, 0, 21);
}
于 2012-10-11T15:38:05.870 回答
1

您可以使用array_splice删除超出您需要的元素

于 2012-10-11T15:38:28.440 回答