配列がありますが、配列に含まれる要素の数がわかりません。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() は、オフセットおよび長さパラメーターで指定された配列 array から要素のシーケンスを返します。
配列が $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を使用して、必要以上の要素を削除できます