php – 排序字符串,首先是字母,然后是字母内的字母

前端之家收集整理的这篇文章主要介绍了php – 排序字符串,首先是字母,然后是字母内的字母前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在 PHP中对字符串进行排序,并且匹配应该首先在子字符串的第一个字母上完成,然后在整个字符串的字母上完成.

例如,如果有人搜索,则列表包含

Adolf
Doe
Done

结果应该是

Doe
Done
Adolf

使用常规排序($array,SORT_STRING)或类似的东西不起作用,Adolf先于其他排序.

有人知道怎么做吗?

usort(array,callback)允许您根据回调进行排序.

例子(像这样,没试过)

usort($list,function($a,$b) {
   $posa = strpos(tolower($a),'do');
   $posb = strpos(tolower($b),'do');
   if($posa != 0 && $posb != 0)return strcmp($a,$b);
   if($posa == 0 && $posb == 0)return strcmp($a,$b);
   if($posa == 0 && $posb != 0)return -1;
   if($posa != 0 && $posb == 0)return 1;
});

猜你在找的PHP相关文章