
php 中 globiterator 排序
问题描述:
在使用 php 的 globiterator 进行文件遍历时,遇到排序问题,返回的结果是无序的,希望按照自然顺序进行排序。
问题解答:
php 中对 glob 返回的结果进行排序有两种方法:使用 glob 函数的 flags 参数或使用 natsort 函数。
使用 glob 函数的 flags 参数:
立即学习“PHP免费学习笔记(深入)”;
glob('*.txt', glob_nosort);设置 flags 参数为 glob_nosort 可以取消自动排序。
主要特色功能如下:1.注册与否均可购物(同类程序中大多要求注册才能购物),方便了那些懒得注册的客户。降低门槛,自然能抓住更多潜在商机。2.除了同类程序中常见的左侧分类树外,还有顶端分类。左侧分类和顶端分类均可在后台方便的进行管理,左侧分类可任意排序。3.首页通过“新品速递”和“热销商品”两个栏目来展示商品,可自行设置在
使用 natsort 函数:
$arr = glob('*.txt');
natsort($arr);natsort 函数可以对字符串数组进行自然排序。
对于 globiterator,由于没有 flags 参数,无法直接修改排序规则。只能使用 iterator_to_array 方法将其转换为数组再进行排序:
$iterator = new GlobIterator('*.txt');
$arr = iterator_to_array($iterator);
natsort($arr);需要注意的是,将 globiterator 转换为数组会使其失去迭代器的意义。










