我有一个数组,我不知道数组中有多少元素。它可以是 1,也可以是 500,但我需要元素的最大数量为 21。
我知道我可以使用 来检查长度count()
,但是如果长度太长,我该如何剪掉其余部分?谢谢。
您可以使用SplFixedArray
它来管理固定大小的数组......
$array = new SplFixedArray(21);
例子
$array = SplFixedArray::fromArray($array);
$array->setSize(21);
试试这个代码:
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 参数指定的数组数组中的元素序列。
如果您的数组是 $arr 那么:
$subArray = array_slice($arr,0,21);
您可以使用 array_slice 来切掉超出的部分。
if(count($array) > 21){
$array = array_slice($array, 0, 21);
}
您需要array_slice
通过将偏移量指定为 0 并将长度指定为 21 来使用。
if(count($your_array) > 21){
$new_array = array_slice($your_array, 0, 21);
}
您可以使用array_splice删除超出您需要的元素