$time = ['2020-09-04','2020-01-18','2020-12-12','2020-05-05','2020-02-16','2020-12-04','2020-08-08','2020-07-05'];
$file = ['x.txt','a.txt','y.txt','ab.txt','b.txt','m.txt','n.txt','z.txt'];
var_dump(array_multisort($time,SORT_ASC,SORT_STRING,$file));
print_r($time);
print_r($file);
打印结果如下:
bool(true)
Array
(
[0] => 2020-01-18
[1] => 2020-02-16
[2] => 2020-05-05
[3] => 2020-07-05
[4] => 2020-08-08
[5] => 2020-09-04
[6] => 2020-12-04
[7] => 2020-12-12
)
Array
(
[0] => a.txt
[1] => b.txt
[2] => ab.txt
[3] => z.txt
[4] => n.txt
[5] => x.txt
[6] => m.txt
[7] => y.txt
)
分析:第一个数组$time是主数组, 会按照: SORT_ASC 升序排列; SORT_STRING: 每一项按照字符串来排; 如果后面还有其他的数组的话, 他们的排序后的结果是和第一个数组排序一一对应的(和第一个数组的下标一一对应, 如: 第一个数组排序前的键是1,2,3,4, 排序后的键为4,3,2,1,那么后面的数组的键也是4,3,2,1),
注意: 后面每个数组的长度要和第一个数组保持一致