다음은 현재 사용중인 코드의 단순화 된 버전입니다. 이것은 무엇을PHP로 파일 번호별로 이미지 정렬
$files = glob('*.{jpg,png,gif}', GLOB_BRACE);
$counter = 1;
echo '<div id="images">';
foreach($files as $file) {
if ($counter % $IMGS_PER_ROW == 1)
echo '<div>';
echo '<img src="' . $file . '"/>';
if ($counter % $IMGS_PER_ROW == 0)
echo '</div>';
$counter++;
}
echo '</div>';
는 디렉토리를 통해 검색하고, 그것을 발견하는 각 이미지에 대해, 그것은 줄에 $IMGS_PER_ROW
이미지의 최대 화면 인라인으로 인쇄합니다.
이 문제는, 그것이 우리가 이미지의 수에 각각 자신의 타이틀, 15 개 이미지를 갖고 있다고 할 수 있습니다 (즉 0.jpg
, 1.jpg
... 14.jpg
), 그들은 자신의 이름에 따라 순서대로 인쇄됩니다 문자열로. (즉, 0.jpg
, 1.jpg
, 10.jpg
, 11.jpg
, 12.jpg
, 13.jpg
, 14.jpg
, 2.jpg
, ...).
분명히, 나는 그들을 숫자 순서로 원한다. 그래서 정렬 알고리즘은 필연적이다 (나는 생각한다). PHP에서 너무 강하지 않아서 문자열 비교가 아닌 파일 순서의 배열을 숫자 순서로 정렬하는 간단한 O (n^2) 방법이 있는지 궁금합니다.
도움 주셔서 감사합니다.
정렬의 어떤 O (n)이 방법은 없습니다 , 정렬은 적어도 O (n * log (n))입니다. 또한, afaik'glob'는 파일 시스템에 저장된 순서대로 파일을 정렬하지 않습니다. – knittl
나는 O (n^2)를 의미하고, 똑바로 생각하지 않았습니다. – azz