Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sortowanie tablicy według klucza
arzach
post
Post #1





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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



Witam mam taki kod którym

  1. $dir = 'pliki/';
  2. $files = scandir($dir);
  3. $dane = array();
  4. foreach($files AS $nazwa){
  5. if ($nazwa != '.' && $nazwa != '..'){
  6. $dane[] = array('nazwa' => $nazwa, 'data' => filemtime($nazwa));
  7. }
  8. }
  9.  
  10. array_multisort($dane, SORT_DESC, $dane);
  11.  
  12. foreach ($dane as $klucz => $wiersz) {
  13. echo $wiersz['nazwa'].' '.date('d-m-y H:i:s' ,$wiersz['data']).'<br>';
  14. }


pobierałam dane do tablicy a potem chciał bym wyświetlić pliki od najwcześniej
utworzonego do najpóźniej utworzonego. Kod który podałem sortuje ale według
nazwy plików a nie daty ich modyfikacji.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
athei
post
Post #2





Grupa: Zarejestrowani
Postów: 389
Pomógł: 141
Dołączył: 11.04.2009

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


Po 1.
Cytat
Bo jak robie tak to wywala błedy
- powinieneś napisać jakie błędy. Wróżkami nie jesteśmy.
Po 2. W filemtime() podajesz pełną ścieżkę a nie tylko nazwę pliku.
Po 3. Tak to powinno wyglądać:
  1. $dir = './pliki/';
  2. $files = scandir($dir);
  3. $dane = array();
  4.  
  5. foreach($files as $key => $row){
  6. if ($row != '.' && $row != '..'){
  7. $dane[] = array('nazwa' => $row, 'data' => filemtime($dir.$row));
  8. $nazwa[$key] = $row['nazwa'];
  9. $data[$key] = $row['data'];
  10. }
  11. }
  12. array_multisort($dane, SORT_ASC, $nazwa, SORT_DESC, $dane);
  13.  
  14. foreach ($dane as $wiersz) {
  15. echo $wiersz['nazwa'].' '.date('d-m-y H:i:s' ,$wiersz['data']).'<br>';
  16. }
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 13:17