首页 > 解决方案 > 数字文件名的 PHP 排序数组

问题描述

拥有现在创建的代码和一个目录数组,该目录包含文本文件并获取其修改日期,然后按降序排序,然后切片并使用其他参数分别回显。

我正在更改它以获取目录中的文件并按数字文件名排序,然后我希望它按降序排序,然后切片然后回显。

$files_listed = array();
foreach (glob('dir/*.txt') as $quip) {
    $files_listed[filemtime($quip)] = $quip;
}
krsort($files_listed);
$master_arc = array_slice($files_listed, 0, 5, true);

// array
foreach($master_arc as $step) {

$arc = file($step, FILE_IGNORE_NEW_LINES);

// print
include 'echo.php';

}

我尝试了scandir,但没有出现

$files_listed = array();
$dir = 'dir/';
$files_listed = scandir($dir, 1);
$master_arc = array_slice($files_listed, 0, 5, true);

// array
foreach($master_arc as $step) {

$arc = file($step, FILE_IGNORE_NEW_LINES);

// print
include 'echo.php';

}

我尝试只删除 filemtime,但它也失败了,所以我迷路了。

$files_listed = array();
foreach (glob('dir/*.txt') as $quip) {
    $files_listed = $quip;
}
arsort($files_listed);
$master_arc = array_slice($files_listed, 0, 5, true);

// array
foreach($master_arc as $step) {

$arc = file($step, FILE_IGNORE_NEW_LINES);

// print
include 'echo.php';

}

标签: phpsorting

解决方案


这对我有用。

<?php

$files_listed = array();

foreach (glob('*.txt') as $quip) {
    $files_listed[] = $quip;
}

arsort($files_listed);
$master_arc = array_slice($files_listed, 0, 5, true);

// array
foreach($master_arc as $step) {
print_r($step);

$arc = file($step, FILE_IGNORE_NEW_LINES);
print_r($arc);

}

推荐阅读