PHP编程实现多维数组按照某个键值排序的方法

1.array_multisort()函数对多个数组或多维数组进行排序。

//对数组$hotcat按照count键值大小降序进行排序;

$hotcat =array(

 array(‘1501‘=>array(‘catid‘=>‘1546‘,‘catname‘=>‘数组排序 一级‘,‘count‘=>‘588‘)),

 array(‘1501‘=>array(‘catid‘=>‘1546‘,‘catname‘=>‘数组排序二级‘,‘count‘=>‘588‘)),

 array(‘1501‘=>array(‘catid‘=>‘1546‘,‘catname‘=>‘数组排序 三级‘,‘count‘=>‘588‘))

);

//提取列数组;

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

 $tmp[$key] = $row[‘username‘];

}

array_multisort($tmp,SORT_DESC,$hotcat);此处对数组进行降序排列;SORT_DESC按降序排列

2.自定义方法array_sort()进行排序

//指定数组以$keys键值排序

function array_sort($array,$keys,$type=‘asc‘){

//$array为要排序的数组,$keys为要用来排序的键名,$type默认为升序排序

$keysvalue = $new_array = array();

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

$keysvalue[$k] = $v[$keys];

}

if($type == ‘asc‘){

asort($keysvalue);

}else{

arsort($keysvalue);

}

reset($keysvalue);

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

$new_array[$k] = $array[$k];

}

return $new_array;

}

转自:https://www.jb51.net/article/112285.htm(感谢分享)

原文地址:https://www.cnblogs.com/luqiang213917/p/9367560.html

时间: 2024-11-08 15:58:36

PHP编程实现多维数组按照某个键值排序的方法的相关文章

实现对多维数组按照某个键值排序的两种方法(array_multisort和array_sort)

实现对多维数组按照某个键值排序的两种解决方法(array_multisort和array_sort): 第一种:array_multisort()函数对多个数组或多维数组进行排序. //对数组$hotcat按照count键值大小降序进行排序: $hotcat =array( array('1501'=>array('catid'=>'1546','catname'=>'续梦PHP 一级','count'=>'588')), array('1501'=>array('catid

PHP二位数组/多维数组 根据某个键值排序

$arr[$i]['FirstName'] = $d_first_name;$arr[$i]['MiddleName'] = $d_middle_name;$arr[$i]['LastName'] = $d_last_name;$arr[$i]['Company'] = $d_company;$arr[$i]['ProcessDate'] = $auth_table->getUpdatedAt(); foreach ($arr as $key => $val) { //get ProcessD

php 二维数组按某个键值排序

array_multisort(array_column($arr,'age'),SORT_DESC,$arr); 原文地址:https://www.cnblogs.com/zrkailml/p/8615279.html

php 二位数组按某个键值排序

$arr=[ array( 'name'=>'小坏龙', 'age'=>28 ), array( 'name'=>'小坏龙2', 'age'=>14 ), array( 'name'=>'小坏龙3', 'age'=>59 ), array( 'name'=>'小坏龙4', 'age'=>23 ), array( 'name'=>'小坏龙5', 'age'=>23 ), array( 'name'=>'小坏龙6', 'age'=>21

php二维数组按照某一列排序的方法

/**  * 二维数组排序方法,数字的倒叙排列  * @param arr  * @param field  */ function sortArrByField(&$array, $field, $desc = false){ $fieldArr = array(); foreach ($array as $k => $v) { $fieldArr[$k] = $v[$field]; } $sort = $desc == false ? SORT_ASC : SORT_DESC; arra

php二维数组按照键值排序的方法

//按照传入数组中的num倒序 public function numdesc($array,$key="num",$order="desc"){ $arr_nums=$arr=array(); foreach($array as $k=>$v){ $arr_nums[$k]=$v[$key]; } if($order=='asc'){ asort($arr_nums); }else{ arsort($arr_nums); } foreach($arr_num

PHP二维数组根据某个键名排序

$result = array( array(           "amount": "11.00",           "date": "2015.10.10",           "title": "缴纳会员费"       ), array(           "amount": "11.00",           "da

php 对二维数组的某个字段公用排序的方法

function array_sort($arr ,$keys,$order=0){ if(!is_array($arr)){ return false; } $keysvalue=array(); foreach ($arr as $key=>$val){ $keysvalue[$key]=$val[$keys]; } if($order==0){ asort($keysvalue); }else{ arsort($keysvalue); } foreach ( $keysvalue as $

二维数组 获取某键值集合

//查询产品线下 已设为兼容性的类目$data = array(         array('id' => 1, 'name' => 'Bob', 'position' => 'Clerk'),         array('id' => 2, 'name' => 'Alan', 'position' => 'Manager'),         array('id' => 3, 'name' => 'James', 'position' => 'D