如何按长度排序字符串数组并在PHP中维护它们的键?
发布时间:2020-12-13 21:57:17 所属栏目:PHP教程 来源:网络整理
导读:有一串字符串; $arr=array('longstring','string','thelongeststring'); 所以关键是: 0='longstring'1='string'2='thelongeststring' 我想按字符串的长度排序,从最长到最短,但不更改键; $arrSorted=array(**2**='thelongeststring',**0**='longstring',**1*
有一串字符串;
$arr=array('longstring','string','thelongeststring'); 所以关键是: 0=>'longstring' 1=>'string' 2=>'thelongeststring' 我想按字符串的长度排序,从最长到最短,但不更改键; $arrSorted=array(**2**=>'thelongeststring',**0**=>'longstring',**1**=>'string'); 我从2天开始使用PHP,所以我已经知道这可能对这种情况有所帮助: ... usort($twoDim,'sorting'); } function sorting($a,$b) { return strlen($b) - strlen($a); } 这给了我带有按长度排序的字符串的数组,但是有了新的键.另一件事是asort按字母顺序对数组进行排序并维护其键.但我不知道如何在同一时间做这两件事…… 请帮忙! 解决方法
使用
uasort :
像这样使用它: function sortByLength ($a,$b) { return strlen($b) - strlen($a); } $arr = ['longstring','thelongeststring']; uasort($arr,'sortByLength'); print_r($arr); eval.in demo 返回: Array ( [2] => thelongeststring [0] => longstring [1] => string ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |