如何在php中对字符串数组排序?[此处字符串是路径。例如/root/mandy/a.pdf、b.pdf和c.pdf
如何在php中对字符串数组进行排序?这里是字符串的路径。例如如何在php中对字符串数组排序?[此处字符串是路径。例如/root/mandy/a.pdf、b.pdf和c.pdf,php,arrays,string,sorting,Php,Arrays,String,Sorting,如何在php中对字符串数组进行排序?这里是字符串的路径。例如/root/mandy/a.pdf、b.pdf和c.pdf等 我试过使用带有参数的sort()函数,但它不起作用 编辑(基于OP的评论): 我的错!我没有正确发布这个问题。抱歉 实际上,它是一个映射数组[不确定可能是数组数组]->数组(“路径=>“文件名”)&我需要根据文件名对其进行排序 $strings = array('/root/mandy/c.pdf', '/root/mandy/a.pdf', '/root/mandy/b.p
/root/mandy/a.pdf、b.pdf和c.pdf等
我试过使用带有参数的sort()
函数,但它不起作用
编辑(基于OP的评论):
我的错!我没有正确发布这个问题。抱歉
实际上,它是一个映射数组[不确定可能是数组数组]->数组(“路径=>“文件名”)
&我需要根据文件名对其进行排序
$strings = array('/root/mandy/c.pdf', '/root/mandy/a.pdf', '/root/mandy/b.pdf');
sort($strings);
print_r($strings);
它适合我。基于您的更新
您可以尝试使用,它允许您定义比较函数并维护索引关联(不确定是否需要,如果不需要,请使用usort()
)
我在这里编写了一个比较函数,它是从PHP 5.3开始提供的。在早期版本中,您可以创建一个普通函数,并在uasort()
的第二个参数中将其名称用作字符串
您可以将路径
更改为与文件名键匹配的任何内容,我只是根据您的评论做了一个假设。或者更好,使用strcmp来比较字符串
uasort($yourArray, function ($a, $b) {
return strcmp($a['path'], $b['path']);
});
您从sort
中得到了什么结果?它与您期望的结果有何不同?您应该显示您的代码并告诉我们确切的问题是什么(除了不起作用
)。sort()
应该这样做,根据您的描述。您对我的回答有什么问题?您以前接受了。我的错!我没有正确地发布此问题。抱歉…实际上这是一个映射数组[不确定可能是数组数组]->数组(“路径=>“文件名”)我需要根据文件名对其进行相应的排序。@mandy您可以在任何时候编辑更多信息到您的答案中。
uasort($yourArray, function ($a, $b) {
return strcmp($a['path'], $b['path']);
});