Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]sortowanie tablic
Forum PHP.pl > Forum > Przedszkole
arcyk13
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
black.old.cat
  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. ?>
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.