Odpowiedzi:
array_slice
zwraca wycinek tablicy
$sliced_array = array_slice($array, 0, 5)
to kod, który ma w twoim przypadku zwrócić pierwszych pięć elementów
array_combine(array_slice(array_keys($array), 0, 5), array_slice($array, 0, 5))
array_slice
zwraca wycinek tablicy". Ale zredaguję swoją odpowiedź, aby była trochę jaśniejsza.
array_splice - Usuń część tablicy i zastąp ją czymś innym:
$input = array(1, 2, 3, 4, 5, 6);
array_splice($input, 5); // $input is now array(1, 2, 3, 4, 5)
Z instrukcji PHP:
array array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement]])
Jeśli pominięto długość, usuwa wszystko od przesunięcia do końca tablicy . Jeśli długość jest określona i jest dodatnia, to wiele elementów zostanie usuniętych. Jeśli długość jest określona i jest ujemna, koniec usuniętej części będzie odpowiadał liczbie elementów od końca tablicy. Wskazówka: aby usunąć wszystko od przesunięcia do końca tablicy, gdy określono również zamianę, użyj count ($ input) jako długości.
Jeśli chcesz tylko wypisać pierwsze 5 elementów, powinieneś napisać coś takiego:
<?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;
}
}
?>
Jeśli chcesz napisać funkcję zwracającą część tablicy, powinieneś użyć array_slice:
<?php
function GetElements( $an_array, $elements ) {
return array_slice( $an_array, 0, $elements );
}
?>
Bardziej obiektowym sposobem byłoby podanie zakresu do metody # []. Na przykład:
Powiedzmy, że chcesz pierwsze 3 elementy z tablicy.
liczby = [1, 2, 3, 4, 5, 6]
liczby [0..2] # => [1,2,3]
Powiedzmy, że chcesz pierwszych x elementów z tablicy.
liczby [0..x-1]
Wspaniałą rzeczą w tej metodzie jest to, że jeśli poprosisz o więcej elementów niż ma tablica, po prostu zwróci całą tablicę.
liczby [0..100] # => [1,2,3,4,5,6]