Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]sortowanie tablic, sortowanie
arcyk13
post 12.11.2009, 19:55:50
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 10.01.2009

Ostrzeżenie: (10%)
X----


Witam!
Chciałbym zrobić sortowanie zawartości pliku, korzystam ze skryptu ze strony: http://webmade.org/porady/baza-danych-opar...plikach-php.php
to jest ten kod:
Kod
<?php
$plik = "db.txt";
$dane = file($plik); /* pobieram dane z pliku i zapisuje do tablicy (linia = rekord) */

for($i=0;$i<count($dane);$i++) { /* przeszukuję tablicę */
  list($imie[$i], $nazwisko[$i], $miejscowosc[$i]) = explode(" || ", $dane[$i]);
   /* dzielę linię na tablicę i zapisuje dane do odpowiednich zmienncyh które równiez są tablicami */
}

rsort($nazwisko); /* sortownie w porządku odwrotnym do alfabetycznego */

$i=0;
while($i < count($nazwisko)) {
echo $imie[$i]." ".$nazwisko[$i].", ".$miejscowosc[$i]."<br />";
$i++;
}

?>


niestety nie sortuje wszystkich pól wg nazwiska tylko samo nazwiska zostają posortowane, a odpowiadające im imię i miejscowość wyświetlają se w takiej kolejności w jakiej są zapisane w pliku.
Co jest źle w tym kodzie, prosze o pomoc i wyrozumiałość smile.gif
Go to the top of the page
+Quote Post
black.old.cat
post 12.11.2009, 21:50:36
Post #2





Grupa: Zarejestrowani
Postów: 37
Pomógł: 8
Dołączył: 8.11.2009

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


  1. <?php
  2. function porownaj($a, $b)
  3. {
  4. return strcmp($b[1],$a[1]);
  5. }
  6.  
  7. $dane = file('db.txt');
  8. foreach($dane as $b => $a) $dane[$b] = explode(" || ", $dane[$b]);
  9. usort($dane, porownaj);
  10. foreach($dane as $a) echo 'imie = '.$a[0].'; nazwisko = '.$a[1].'; miejscowosc = '.$a[2]."<br>\n";
  11. ?>


Ten post edytował black.old.cat 12.11.2009, 21:51:25
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 15.07.2025 - 07:34