Сортировка массива собственной функцией

Тема в разделе "PHP программирование", создана пользователем sn@ke, 6 янв 2010.

  1. sn@ke

    sn@ke Member

    Регистрация:
    8 окт 2006
    Сообщения:
    21
    Симпатии:
    0
    есть массив со списком файлов и каталогов
    Код (PHP):
    Array
    (
    [0] => 12-22-05 05:12PM   <DIR>      _derived
    [1] => 12-22-05 05:12PM   <DIR>      _notes
    [2] => 12-22-05 05:12PM   <DIR>      _private
    [3] => 12-22-05 06:26PM              1754 _vti_inf.html
    [4] => 03-14-03 09:25AM   <DIR>      _vti_log
    [5] => 09-08-05 11:54AM              4322 acceso.asp
    [6] => 01-19-05 09:52AM              236 accesovirtual.asp
    [7] => 12-04-04 12:46PM   <DIR>      anonymous
    [8] => 12-22-05 05:12PM   <DIR>      aspnet_client
    [9] => 01-18-05 11:56AM              4324 balance.asp
    [10] => 03-14-03 09:25AM      <DIR>      cgi-bin
    [11] => 03-14-03 09:25AM      <DIR>      cgi-local
    [12] => 01-18-05 11:56AM                 495 clasi.asp
    [13] => 12-15-04 11:31AM                 3524 clave.asp
    [14] => 12-15-04 12:08PM                 1632 clave.htm
    [15] => 11-16-09 11:04AM      <DIR>      clientes
    [16] => 12-10-04 09:24AM                 897 contacto.asp
    [17] => 12-10-04 09:32AM                 2445 contacto.htm
    [18] => 01-05-10 03:36PM      <DIR>      data
    [19] => 02-10-06 12:07PM                 556 default.htm
    [20] => 01-18-05 11:56AM                 290 docum.asp
    [21] => 12-06-04 08:45AM                 6636 email.htm
    [22] => 01-06-10 05:51AM                 1313 encabezado.htm
    [23] => 12-20-04 12:36PM                 105 Global.asa
    [24] => 05-02-06 12:07PM                 2112 home.asp
    [25] => 05-02-06 11:43AM                 638 homefoo.js
    [26] => 12-22-05 05:12PM      <DIR>      images
    [27] => 12-06-04 08:45AM                 336 index.htm
    [28] => 12-21-04 10:50AM                 901 mail.asp
    [29] => 05-02-06 11:30AM                 4408 menu.htm
    [30] => 05-02-06 11:29AM                 656 menufoo.js
    [31] => 09-14-05 10:28AM                 2525 MenuHome2.swf
    [32] => 01-05-05 01:57PM                 2010 MenuIni.swf
    [33] => 01-30-03 03:02PM                  44 NewSiteDefaultPage.asp
    [34] => 12-01-04 09:59AM                 3571 old-acceso.asp
    [35] => 12-22-05 06:26PM                 2447 postinfo.html
    [36] => 12-15-04 12:12PM                 2023 prebalance.asp
    [37] => 12-06-04 08:45AM                 1626 prebalance.htm
    [38] => 02-10-06 11:57AM                 3921 presentacion.swf
    [39] => 01-18-05 11:56AM                 395 remun.asp
    [40] => 01-18-05 11:56AM                 492 resul.asp
    [41] => 12-14-04 01:23PM                 3658 servicio.htm
    [42] => 09-03-07 11:12AM                 3235 somos.htm
    [43] => 01-06-10 01:47AM      <DIR>      stats
    [44] => 09-01-09 12:28PM                 945 swfobject.php
    [45] => 12-10-04 03:10PM                 1508 virtual.swf
    )
    Подскажите как его отсортировать, чтобы получить массив в котором все каталоги будут в конце списка либо в начале.
     
  2. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    Эммм.. ну пройти циклом, от начального индекса к конечному, проверить, если в строке есть dir, то переместить в начало или добавить в другой массив..
     
  3. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    +1=) Ты с etc'м не знаком случайно?)
     
  4. sn@ke

    sn@ke Member

    Регистрация:
    8 окт 2006
    Сообщения:
    21
    Симпатии:
    0
    Вопрос закрыт. Если кому интересно сделал так:
    Код (Text):
    function cmp($a,$b){
    if ($a == $b) return 0;
    if (eregi("<DIR>",$a)){
    return 1;
    }elseif(eregi("<DIR>",$b)){
    return -1;
    }else{
    return 0;
    }
    }

    usort($array,"cmp");
     
Загрузка...

Поделиться этой страницей