Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Wyciagniecie najwyzszej wartosci i odpowiadajacemu jej klucza z tablicy
Forum PHP.pl > Forum > Przedszkole
Beton2006
Witam, mam do was kolejne zapytanie odnosnie php.

Otoz ,powiedzmy mam taka tablice:
  1. <?php
  2. $punkty = Array("$imie1"=>"$punkty1","$imie2"=>"$punkty2","$imie3"=>"$punkty3","$imie4"=>"$punkty4","$imie5"=>"$punkty5");
  3. ?>


Czy jest mozliwosc (pewnie tak) aby wyswietlic tylko imiona(+ punkty) gdzie ilosc punktow jest najwyzsza ?

Dzieki z gory...
mike
A po co Ci te cudzysłowy?
To jest błąd, powinno być tak:
  1. <?php
  2. $punkty = array($imie1 => $punkty1, $imie2 => $punkty2, $imie3 => $punkty3, $imie4 => $punkty4, $imie5 => $punkty5);
  3. ?>


A co do problemu.
Zainteresuj się funkcjami do sortowania tablic: sort(), arsort(), asort(), ksort(), krsort(), natsort(), natcasesort(), rsort(), usort(), array_multisort() i uksort()

Poczytaj manuala a dowiesz się, której użyć.
Beton2006
No OK,powiedzmy,ze sobie poukladam tablice od najmniejszej do najwiekszej ,ale jak odczytac teraz wartosci(te najwieksze ,oczywiscie) questionmark.gif?
mike
No ale trochę samodzielności.
Odczytaj sobie po kolei w pętli: Podręcznik php > Opis języka > Struktury kontrolne i wyświetlaj każdy element.
Cysiaczek
hyhy - zasabotuję naukę : P
  1. <?php
  2. $arr=array(0,10,1,5,3,6, 753, 53437);
  3. rsort($arr, SORT_NUMERIC);
  4. print_r($arr);
  5. ?>


Pozdrawiam.
Beton2006
Chlopaki, chyba niejasno sie wyrazilem.

Wiem (chociaz tyle:) ) ,jak mniej-wiecej sortowac tablice.

Moj problem to: jak wydrukowac tylko najwyzsze wartosci , np jak mam array 1 3 4 5 12 23 23,chce zeby wydrukowal mi tylko 23 i 23.....

EDIT -> W moim przypadku chce wydrukowac imiona tam ,gdzie wartosci punkty sa najwyzsze.
mike
Cytat(Beton2006 @ 6.01.2007, 21:36:55 ) *
Chlopaki, chyba niejasno sie wyrazilem.

Wiem (chociaz tyle:) ) ,jak mniej-wiecej sortowac tablice.
Wyraziłeś się jasno.
Ale chyba nie zrozumiałeś nas. My tu nie dajemy gotowców, mu tu pomagamy.
Skoro wiesz jak je zastosować, to zastosuj. My Ci pomożemy i pokażemy gdzie ewentualnie robisz błędy. Na tym polega to forum.
Dajemy bodźce do samodzielnego myślenia i rozwiązania problemu...

... ale nie każdy potrafi sam pomyśleć, pokombinować, ...

  1. <pre><?php
  2.  
  3. $arrArray = array('Kamil' => 23, 'Zosia' => 12, 'Marysia' => 23, 'Jacek' => 15, 'Ania' => 3);
  4.  
  5. arsort($arrArray, SORT_NUMERIC);
  6.  
  7. print_r($arrArray);
  8.  
  9. $arrKeys = array_keys($arrArray);
  10. $intMaxPoints = $arrArray[$arrKeys[0]];
  11.  
  12. $strMessage = 'Najwięcej punktów ('.$intMaxPoints.') uzyskali: ';
  13.  
  14. foreach($arrArray as $strName => $intPoints) {
  15. if($intPoints < $intMaxPoints) {
  16. break;
  17. }
  18.  
  19. $strMessage .= $strName . ' ';
  20. }
  21.  
  22. echo $strMessage;
  23.  
  24. ?></pre>
Beton2006
Cytat(mike_mech @ 6.01.2007, 22:28:46 ) *
My tu nie dajemy gotowców, mu tu pomagamy.
My Ci pomożemy i pokażemy gdzie ewentualnie robisz błędy. Na tym polega to forum.
Dajemy bodźce do samodzielnego myślenia i rozwiązania problemu...

... ale nie każdy potrafi sam pomyśleć, pokombinować, ...


No i bardzo dobrze,tyle ,ze kombinuje od 2 godzin i 2 razy zawiesilem komputer nieskonczonymi petlami smile.gif.
Ale szedlem w dobrym kierunku......w kazdym badz razie -> dzieki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.