按文件名的一部分排序



我有一个$inhalte = glob("*.jpg");在目录中列出图片。这些文件如下所示

Constant1-Constant2-Input-ToBeSorted1-Date1.jpg
Constant1-Constant2-Output-ToBeSorted2-Date2.jpg
Constant1-Constant2-Input-ToBeSorted3-Date3.jpg
Constant1-Constant2-Output-ToBeSorted4-Date4.jpg
...

它们应按ToBeSorted字母顺序排序。按名称 a/降序对它们进行排序不起作用,因为Input/Output会干扰。

我该如何做到这一点?

strstr提供了"ToBeSorted"后面的字符串,并有助于对usort((进行简单的比较。

//$inhalte is the array supplied by glob()
usort($inhalte, function($a, $b){
return strstr($a,"ToBeSorted") <=> strstr($b,"ToBeSorted");
});

最新更新