php – 排序字符串,首先是字母,然后是字母内的字母
发布时间:2020-12-13 17:57:03 所属栏目:PHP教程 来源:网络整理
导读:我想在 PHP中对字符串进行排序,并且匹配应该首先在子字符串的第一个字母上完成,然后在整个字符串的字母上完成. 例如,如果有人搜索,则列表包含 AdolfDoeDone 结果应该是 DoeDoneAdolf 使用常规排序($array,SORT_STRING)或类似的东西不起作用,Adolf先于其他排
我想在
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; }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |