Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sortowanie elementu w pliku
Forum PHP.pl > Forum > PHP
Blace
Witam, potrzebuje posortować określone dane w pliku,

plik wygląda tak:

data tamat tresc

jak widać poniżej rozbijam ten plik na 3 elementy , dzieląc je wg spacji na $rek[0] to jest data, $rek[1] to jest temat i $rek[2] to jest tresc,

jak teraz zrobić sortowanie tylko wg daty w tym pliku czyli sortowanie po $rek[0] zeby sortowało np w odwrotnej kolejności??

data jest w formacie [31/gru/2007:01:02:59]

Kod
<?
   $f=fopen("plik.txt","r");
  
   while ($logi=fgets($f,1000))
   {
   $logi=chop($logi);
   $rek=explode(" ",$logi);
  
   echo "<tr>";
   echo "<td width=190>$rek[0] $rek[1]<td>$rek[2]";
   }
   fclose($f);
   echo "</td>";
   echo "</tr>";
  
   ?>
sticker
wsio do tablicy a pozniej array_multisort" title="Zobacz w manualu PHP" target="_manual chyba że ten plik bardzo duży to pozostają zaawansowane metody sortowania tak żeby pamięci nie zabić, a tak szczerze to może lepiej od razy trzymac kilka kopii plików posortowane według kolejności i pozniej przy dodawaniu wstawiać w odopoiwednie miejsce tongue.gif
Blace
prosiłbym o jakiś kod smile.gif
b_chmura
Cytat(Blace @ 31.12.2007, 01:21:28 ) *
prosiłbym o jakiś kod smile.gif


a ja trochę własnej inicjatywy, sticker podsuną Ci pewne rozwiązanie i inne drogi rozwiązania problemu.
Wiec nie proś a do roboty sie weź!
Blace
zgadza sie plik jest duży, sa to logi systemowe, i nie moge sobie zrobić kilku kopii, bo do tego pliku ciągle dopisywane są zdarzenia

a co do funkcji array_multisort, zrobiłem coś takiego, niby jest ok, bo nie wyrzuca błędu a jednak nic to nie dało

Kod
<span class="postcolor"><?
    $f=fopen("plik.txt","r");
    
    while ($logi=fgets($f,1000))
    {
    $logi=chop($logi);
    $rek=explode(" ",$logi);
    $tbl= array(
array ($rek[0]), array ($rek[3]));
array_multisort($tbl[0],SORT_ASC);
    echo "<tr>";
    echo "<td width=190>$rek[0] $rek[1]<td>$rek[2]";
    }
    fclose($f);
    echo "</td>";
    echo "</tr>";
    
    ?></span>
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.