Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]sortowanie linkow
Forum PHP.pl > Forum > Przedszkole
arek88
Witam jak posortować linki ?

bo mam je w formie

Kod
http://rapidshare.com/files/307412159/up.part03.rar
http://rapidshare.com/files/307412039/up.part08.rar
http://rapidshare.com/files/307411926/up.part04.rar
http://rapidshare.com/files/307411750/up.part01.rar


a chcial bym zeby byly tak


Kod
http://rapidshare.com/files/307412159/up.part01.rar
http://rapidshare.com/files/307412039/up.part02.rar
http://rapidshare.com/files/307411926/up.part03.rar
http://rapidshare.com/files/307411750/up.part04.rar


probowalem juz sortow roznych z manuala ale nigdy nie uklada mi sie tak jak chce :/
kefirek
  1. $url = array(
  2. 'http://rapidshare.com/files/307412159/up.part03.rar',
  3. 'http://rapidshare.com/files/307412039/up.part08.rar',
  4. 'http://rapidshare.com/files/307411926/up.part04.rar',
  5. 'http://rapidshare.com/files/307411750/up.part01.rar'
  6. );
  7.  
  8. $tab_url = array();
  9. foreach($url AS $nazwa){
  10. $tab_url[] = array(array('url' => $nazwa),array('part' => substr(strrchr($nazwa, "up"), 3, -4)));
  11. }


I posortuj po kluczu part
zegarek84
  1. function fileFromUrl($url){return substr($url, strrpos($url,'/')+1);};
  2. function naturalSortUrlByFileName($a, $b) {return strnatcmp(fileFromUrl($a), fileFromUrl($b));};
  3.  
  4. $url = array(
  5. 'http://rapidshare.com/files/307412159/up.part03.rar',
  6. 'http://rapidshare.com/files/307412039/up.part08.rar',
  7. 'http://rapidshare.com/files/307411926/up.part04.rar',
  8. 'http://rapidshare.com/files/307411750/up.part01.rar'
  9. );
  10. usort($url, 'naturalSortUrlByFileName');
  11. echo '<pre>';
  12. print_r($url);
  13. echo '</pre>';

Kod
Array
(
    [0] => http://rapidshare.com/files/307411750/up.part01.rar
    [1] => http://rapidshare.com/files/307412159/up.part03.rar
    [2] => http://rapidshare.com/files/307411926/up.part04.rar
    [3] => http://rapidshare.com/files/307412039/up.part08.rar
)

lub bez operowania na stringu:
  1. function naturalSortUrlByPath($a, $b) {return strnatcmp(parse_url($a, PHP_URL_PATH), parse_url($b, PHP_URL_PATH));};
  2.  
  3. $url = array(
  4. 'http://rapidshare.com/files/307412159/up.part03.rar',
  5. 'http://rapidshare.com/files/307412039/up.part08.rar',
  6. 'http://rapidshare.com/files/307411926/up.part04.rar',
  7. 'http://rapidshare.com/files/307411750/up.part01.rar'
  8. );
  9. usort($url, 'naturalSortUrlByPath');
  10. echo '<pre>';
  11. print_r($url);
  12. echo '</pre>';
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.