Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobranie z posortowanej tablicy 5 pierwszych elementów
damianooo
post
Post #1





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Witam,

Mam taką oto tablicę:

  1. $myArray = array (
  2. 12 => 0.0402,
  3. 24 => 0.0402,
  4. 4 => 0.0395,
  5. 25 => 0.0392,
  6. 10 => 0.0389,
  7. 8 => 0.0389,
  8. 22 => 0.0389,
  9. 18 => 0.0389,
  10. 9 => 0.0388,
  11. 13 => 0.0386
  12. );

Tablica została wcześniej posortowana funkcją asort , a więc wg. wartości od największej do najmniejszej.
Potrzebuję pobrać pięć pierwszych elementów tej tablicy (ewentualnie 5 ostatnich elementów, to wtedy sobie posortuję w odwrotnej kolejności).

Próbowałem to zrobić w pętli for:

  1. for($i=1;$i<=5,$i++){
  2. $newArray[] = $myArray[$i];
  3. }


ale to nie działa ponieważ klucze w tablicy są różnych wartośći (IMG:style_emoticons/default/sad.gif)

P.S. W manualu nie znalazłem funkcji, która pobiera z posortowanej tablicy pierwszych lub ostatnich paru elementów, ale być może źle szukałem.

proszę o podpowiedź,

dzięki, pozdrawiam

Ten post edytował damianooo 16.07.2013, 10:18:25
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Greg0
post
Post #2





Grupa: Zarejestrowani
Postów: 264
Pomógł: 54
Dołączył: 31.08.2007
Skąd: Tychy

Ostrzeżenie: (0%)
-----


użyteczna będzie funkcja array_slice, którą przytniesz sobie tablice do np. ostatnich 5 elementów.
Go to the top of the page
+Quote Post
damianooo
post
Post #3





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

Ostrzeżenie: (0%)
-----


świetnie , to mi w zupełności wystarcza ...

dla zainteresowanych zastosowałem to u siebie w skrypcie w ten sposób:

  1. array_slice($myArray, 0, 5, true)


P.S. W manualu znalazłem info że opcja "true" znaczy że mają zostać zachowane klucze, a na tym mi szczególnie zależało.

Wielkie dzięki, Pozdrawiam

Ten post edytował damianooo 16.07.2013, 10:48:17
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.12.2025 - 16:21