我想按修改时间的升序和降序对文件进行排序。
根据这个答案,看起来最好的方法是定义排序回调函数并使用usort / uasort。
但是,由于我的应用程序的性质,对于某些排序算法(例如几乎反向排序的输入序列),我可能会遇到一些最坏的情况。
因为每个比较都使用两个部分在网络驱动器上的文件系统访问,所以比较的数量至关重要,必须将其最小化。其他种类的迭代可以更多。
那么PHP的数组排序函数使用什么排序算法?快速排序?多种排序?有什么办法可以配置这个吗?
我是否应该在排序之前对数组进行洗牌?
还是我需要编写自己的实现?
您知道一些很好的库,这些库提供具有可配置算法的排序功能吗?
您会建议使用哪种算法或方法来解决此最小化比较的问题?
在php.net/sort我发现这个:
php.net/sort
注意:与大多数PHP排序功能一样,sort()使用»Quicksort的实现。
我相信它使用了一个 随机的quicksort,因此不需要改组数组。
我做了一些测试,PHP的quicksort并不是随机的,所以请改组您的输入数组!