Відповіді:
array_slice
повертає фрагмент масиву
$sliced_array = array_slice($array, 0, 5)
- це код, який ви хочете у вашому випадку повернути перші п’ять елементів
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]])
Якщо довжина опущена, вилучає все від зміщення до кінця масиву . Якщо довжина вказана і є додатною, то багато елементів буде видалено. Якщо довжина вказана і від'ємна, то кінцем видаленої частини буде стільки елементів з кінця масиву. Порада: щоб видалити все від зміщення до кінця масиву, коли також вказана заміна, використовуйте 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]