Chcę zwrócić pierwsze 5 elementów z tablicy. Jak mogę to zrobić?Zwracanie pierwszych x elementów z tablicy
Odpowiedz
array_slice
zwraca kawałek tablicy
$sliced_array = array_slice($array, 0, 5)
jest kod, który ma w Twoim przypadku, aby powrócić pierwszych pięciu elementów
, ale to nie zadziała z tablicami asocjacyjnymi. klucze się gubią. – ESCOBAR
@ESCOBAR: tablice asocjacyjne niekoniecznie mają porządek, tylko odwzorowują klucze do wartości; więc "wartości od 3 do 7" tak naprawdę nie mają sensu i tak ... – knittl
prawda, ale w tym przypadku nie ma to związku z zamówieniem. to tylko około pierwszych 5 pozycji. i nie można tutaj użyć array_slice. – ESCOBAR
array_splice - Usuń część tablicy i zastąpić go czymś innym:
$input = array(1, 2, 3, 4, 5, 6);
array_splice($input, 5); // $input is now array(1, 2, 3, 4, 5)
Z podręcznika PHP:
array array_splice (array &$input , int $offset [, int $length = 0 [, mixed $replacement]])
Jeśli długość jest pominięta, usuwa wszystko od przesunięcie 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, to koniec usuniętej części będzie tą liczbą elementów z końca tablicy. Wskazówka: aby usunąć wszystko, od przesunięcia do końca tablicy, gdy jest również określona zamiana, użyj count ($ input) dla długości.
Składnia zwracania pierwszych 5 elementów to array_splice ($ input, 5) – aland
Dzięki, poprawiono teraz. –
@AndrejsCainikovs Zgodnie z php.net, "Jeśli długość zostanie pominięta, sekwencja będzie zawierała wszystko od przesunięcia aż do końca tablicy." Pogrubiony tekst odpowiedzi brzmi dokładnie odwrotnie. – Kalko
Jeśli chcesz tylko do wyjścia pierwszych 5 elementów, należy 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ę, która zwraca część tablicy, należy użyć array_slice:
<?php
function GetElements($an_array, $elements) {
return array_slice($an_array, 0, $elements);
}
?>
Możesz użyć funkcji array_slice, ale czy użyjesz innych wartości? lub tylko pierwsze 5? ponieważ jeśli użyjesz tylko pierwszych 5, możesz użyć LIMIT na SQL.
Bardziej zorientowanym obiektowo byłoby podanie zakresu dla metody # []. Na przykład:
Powiedzmy, że chcesz pierwsze 3 elementy z tablicy.
numbers = [1,2,3,4,5,6]
numery [0..2] # => [1,2,3]
że chcesz pierwszy X elementy z tablicy.
numery [0..x-1]
Wielką zaletą tej metody jest to, jeśli poprosić o więcej przedmiotów niż tablica ma, to po prostu zwraca całą tablicę.
numery [0..100] # => [1,2,3,4,5,6]
Ale php nie obsługuje zakresów. Jesteś pewien, że nie mówisz o rubinach lub czymś w tym stylu? –
"Bardziej zorientowany obiektowo"? Ta odpowiedź nie ma nic wspólnego z programowaniem obiektowym. – Ducky
- 1. Zwracanie pierwszych N znaków ciągu Unicode
- 2. pętli w ciągu 20 pierwszych elementów tablicy Jawa
- 3. Funkcja Zwracanie tablicy w Fortranie
- 4. Usuwanie pierwszych 16 bajtów z tablicy bajtów
- 5. Ogranicza ListIterator do pierwszych elementów N (zoptymalizowanych)
- 6. zmieniając wartości elementów tablicy z funkcji
- 7. Uzyskiwanie elementów tablicy z wartościąForKeyPath
- 8. Usuwanie elementów z tablicy Ruby
- 9. Usuwanie duplikatów elementów z tablicy
- 10. Powtórz pierwsze n elementów tablicy
- 11. Zwracanie tablicy [] z AsyncTask z powrotem do głównego działania
- 12. Zwracanie tablicy z JS do C# z COM-Interop
- 13. zwraca tablicę liczb pierwszych
- 14. Zwracanie tablicy obiektów w PHP Web Service
- 15. Zwracanie nagłówka jako tablicy przy użyciu Curl
- 16. Używanie split (//, $ str, $ limit) zwracanie kończących pustych elementów, sprzecznych dokumentacji
- 17. Utrzymanie parzystych elementów tablicy?
- 18. Zwracanie tablicy 2D C z funkcją Objective-C
- 19. przesunięcie elementów w tablicy
- 20. sortowanie elementów tablicy struktur
- 21. Zwracanie danych z rozdwojonych procesów
- 22. Groovy list.sort przez pierwszych, drugich elementów następnie trzecich
- 23. Wyjaśnienie generatora liczb pierwszych?
- 24. Stosując memcpy skopiować szereg elementów z tablicy
- 25. pytonic sposobem usuwania elementów z tablicy numpy
- 26. Jak usunąć wiele elementów z tablicy SWIFT?
- 27. Usuwanie elementów z tablicy struktur w Matlab
- 28. Usuwanie elementów z tablicy w C
- 29. Usuwanie elementów opakowania z szeregowej tablicy XML
- 30. Usuń duplikaty elementów z tablicy w Ruby
wtf z downvotes w tym pytaniu? – SilentGhost
Zmieniłem wszystko, ponieważ każda odpowiedź jest dobra. – Vili