• 微信
您当前的位置:首页  > 文章 >  PHP根据循环数组里的键值从小到大或从大到小排序的函数!

PHP根据循环数组里的键值从小到大或从大到小排序的函数!

作者:admin 时间:2022-08-15 阅读数:人

有一组循环数组,里面有距离值,想根据距离排序展示,百度一圈,基本全是冒泡排序的方法

后来经过一次次寻找和自己修改,终于得到了一组挺精简还适合我现在状况的代码

先随便设置一组循环数组:

$list = array(

    array("name"=>"北京","nums"=>"200"),

    array("name"=>"上海","nums"=>"80"),

    array("name"=>"广州","nums"=>"150"),

    array("name"=>"深圳","nums"=>"70"),

    array("name"=>"电脑屋","nums"=>"55")

    );

如下才是真正的代码,我封装成了函数,方便使用

function vrsort($arr){

foreach($arr as $key=>$val){

    $a[] = $val["nums"];//这里要注意$val["nums"]不能为空,不然后面会出问题

}

sort($a);//从小到大

//rsort($a);//从大到小

//$a=array_reverse($a);

$a = array_flip($a);

foreach($arr as $k=>$v){

    $temp1 = $v["nums"];

    $temp2 = $a[$temp1];

    $result[$temp2] = $v;

}

ksort($result);

return $result;

}

打印整理后的数组

var_dump(vrsort($list));

结果如下  

array(5) {   [0]=>   array(2) {   ["name"]=>   string(9) "电脑屋"   ["nums"]=>   string(2) "55"   }   [1]=>   array(2) {   ["name"]=>   string(6) "深圳"   ["nums"]=>   string(2) "70"   }   [2]=>   array(2) {   ["name"]=>   string(6) "上海"   ["nums"]=>   string(2) "80"   }   [3]=>   array(2) {   ["name"]=>   string(6) "广州"   ["nums"]=>   string(3) "150"   }   [4]=>   array(2) {   ["name"]=>   string(6) "北京"   ["nums"]=>   string(3) "200"   }   }

声明

源码下载不顺利,比如源码在百度网盘的有时会被无故取消等,请联系QQ:46667551
本站大部分下载资源收集于网络,但除特别说明之外,基本全部亲自测试可用!
但由于某些源码的更新迭代,比如微信小程序官方接口的变动等原因,
如时间过长,可能会造成本可以使用的代码出现问题,下载前请斟酌!
本站资源仅供学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除。
若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。

原文链接:https://www.dnwfb.com//1564.html,转载请注明出处