복붙노트

glob () - 날짜순 정렬

PHP

glob () - 날짜순 정렬

나는 (마지막으로 수정 된) 날짜 순서로 파일의 배열을 표시하려고합니다.

이 배열을 반복하면서 다른 배열로 정렬하는 방법을 사용했지만이 작업을 더 쉽게 (보다 효율적으로) 할 수 있습니까?

해결법

  1. ==============================

    1.후손을 위해 허용 된 답변에 링크 된 포럼 게시물이 손실되거나 명확하지 않은 경우 필요한 코드는 다음과 같습니다.

    후손을 위해 허용 된 답변에 링크 된 포럼 게시물이 손실되거나 명확하지 않은 경우 필요한 코드는 다음과 같습니다.

    <?php
    
    $myarray = glob("*.*");
    usort($myarray, create_function('$a,$b', 'return filemtime($a) - filemtime($b);'));
    
    ?>
    

    내 시스템에서이를 테스트하여 원하는대로 파일 mtime별로 정렬되는지 확인합니다. 필자는 파이썬으로 작성된 유사한 접근법을 사용하여 웹 사이트의 마지막 업데이트 파일을 결정했습니다.

  2. ==============================

    2.

    <?php
    $items = glob('*', GLOB_NOSORT);
    array_multisort(array_map('filemtime', $items), SORT_NUMERIC, SORT_DESC, $items);
    
  3. ==============================

    3.이 솔루션은 수락 된 답변과 동일하며 익명의 기능 1로 업데이트됩니다.

    이 솔루션은 수락 된 답변과 동일하며 익명의 기능 1로 업데이트됩니다.

    $myarray = glob("*.*");
    
    usort( $myarray, function( $a, $b ) { return filemtime($a) - filemtime($b); } );
    

    1 익명 함수가 2010 년에 PHP에 도입되었습니다. 원문은 2008 년 12 일자입니다.

  4. from https://stackoverflow.com/questions/124958/glob-sort-by-date by cc-by-sa and MIT license