glob() — 按名称排序
如何反转按文件名排序?目前,它以字母/数字顺序显示所有文本文件,但我正试图让它以降序显示。现在,我有...
<?php
foreach (glob("*.txt") as $filename) {
include($filename);
}
?>
我对PHP很陌生,但我尝试了usort,添加了数组,但这导致它只显示1个文本文件,所以要么这不起作用,要么我只是编码错误。
如何反转按文件名排序?目前,它以字母/数字顺序显示所有文本文件,但我正试图让它以降序显示。现在,我有...
<?php
foreach (glob("*.txt") as $filename) {
include($filename);
}
?>
我对PHP很陌生,但我尝试了usort,添加了数组,但这导致它只显示1个文本文件,所以要么这不起作用,要么我只是编码错误。
您可以使用 :array_reverse
foreach(array_reverse(glob("*.txt")) as $filename) { ...
只是对@Foo Bah的答案的补充:在处理目录中的文件名时,我通常会添加以防止典型的排序情况:natsort
- '图像1.png'
- '图像10.png'
- '图像2.png'
natsort是一种更加用户友好的排序算法,它将保留自然编号:
- '图像1.png'
- '图像2.png'
- '图像10.png'
所以FooBah的答案变成了:
$list = glob("*.jpg");
natsort($list);
foreach(array_reverse($list) as $filename) { ...
请注意,正在修改传入参数的数组,并且仅返回一个布尔值。natsort