php中怎么利用uasort()自定义排序 多维数组,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
创新互联公司是一家集网站建设,荷塘企业网站建设,荷塘品牌网站建设,网站定制,荷塘网站建设报价,网络营销,网络优化,荷塘网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。php内置的排序函数很多;正反各种排;
常用的排序函数:
sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序
基本都能满足需求了;关于这些函数的使用方法就不多啰嗦了;
但是在项目的实际开发中还是会有些更加苛刻的排序需求;今天要介绍的排序函数是: uasort()
uasort主要是用在需要按照自定义的方法并且保留索引关系对多维数组的排序上;
有如下数组
$sort_array = array( "array1" => array( 'word'=>'test1', 'sortnumber'=>1, ), 'array3'=>array( 'word'=>'test4', 'sortnumber'=>4, ), 'array2'=>array( 'word'=>'test3', 'sortnumber'=>3, ), 'array5'=>array( 'word'=>'test5', ), 'array4'=>array( 'word'=>'test2', 'sortnumber'=>2, ), );需求是按照sortnumber以升序的方式排序;
首先需要写一个自定义排序的规则;
// 自定义排序函数 function my_sort($a,$b){ $prev = isset($a['sortnumber']) ? $a['sortnumber'] : 0; $next = isset($b['sortnumber']) ? $b['sortnumber'] : 0; if($prev == $next)return 0; return ($prev<$next) ? -1 : 1; } echo '排序前:
'; print_r($sort_array); uasort($sort_array, "my_sort"); echo "排序后:
"; print_r ($sort_array);
得到的结果:
排序前: Array ( [array1] => Array ( [word] => test1 [sortnumber] => 1 ) [array3] => Array ( [word] => test4 [sortnumber] => 4 ) [array2] => Array ( [word] => test3 [sortnumber] => 3 ) [array5] => Array ( [word] => test5 ) [array4] => Array ( [word] => test2 [sortnumber] => 2 ) ) 排序后: Array ( [array5] => Array ( [word] => test5 ) [array1] => Array ( [word] => test1 [sortnumber] => 1 ) [array4] => Array ( [word] => test2 [sortnumber] => 2 ) [array2] => Array ( [word] => test3 [sortnumber] => 3 ) [array3] => Array ( [word] => test4 [sortnumber] => 4 ) )
看完上述内容,你们掌握php中怎么利用uasort()自定义排序 多维数组的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。