回答:
array_combine(array_slice(array_keys($array), 0, 5), array_slice($array, 0, 5))
array_slice
返します "。しかし、私はそれを少し明確にするために私の回答を編集します。
array_splice —配列の一部を削除し、それを別のもので置き換えます:
$input = array(1, 2, 3, 4, 5, 6);
array_splice($input, 5); // $input is now array(1, 2, 3, 4, 5)
PHPマニュアルから:
array array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement]])
場合は長さが省略されたoffsetから配列の最後まで、すべてを削除します。長さが指定されていて正の場合、その数の要素が削除されます。長さが指定され、負の場合、削除された部分の終わりは、配列の終わりからの要素数になります。ヒント:置換も指定されている場合に、オフセットから配列の最後までをすべて削除するには、長さとしてcount($ input)を使用します。
最初の5つの要素のみを出力する場合は、次のように記述します。
<?php
if (!empty ( $an_array ) ) {
$min = min ( count ( $an_array ), 5 );
$i = 0;
foreach ($value in $an_array) {
echo $value;
$i++;
if ($i == $min) break;
}
}
?>
配列の一部を返す関数を作成する場合は、array_sliceを使用する必要があります。
<?php
function GetElements( $an_array, $elements ) {
return array_slice( $an_array, 0, $elements );
}
?>
よりオブジェクト指向の方法は、#[]メソッドに範囲を提供することです。例えば:
配列の最初の3つの項目が必要だとします。
数値= [1,2,3,4,5,6]
数値[0..2]#=> [1,2,3]
配列の最初のx個のアイテムが必要だとします。
数字[0..x-1]
このメソッドの優れた点は、配列よりも多くの項目を要求した場合、単純に配列全体を返すことです。
数値[0..100]#=> [1,2,3,4,5,6]