PHP如何根据数组中的键值进行排序

主要是使用PHP的排序函数,asort()和arsort()。

为了减少代码的耦合性,我们将根据数组中的键值进行排序封装成一个函数

 1 <?php
 2 $array = array(
 3     array(‘name‘=>‘aa‘,‘price‘=>1050),
 4     array(‘name‘=>‘bb‘,‘price‘=>4300),
 5     array(‘name‘=>‘cc‘,‘price‘=>3100),
 6     array(‘name‘=>‘dd‘,‘price‘=>4900),
 7     array(‘name‘=>‘ee‘,‘price‘=>960),
 8     array(‘name‘=>‘ff‘,‘price‘=>6299),
 9     array(‘name‘=>‘gg‘,‘price‘=>1200)
10 );
11 function arr_sort($array,$key,$order="asc"){ //asc是升序 desc是降序
12     $arr_nums=$arr=array();
13     foreach($array as $k=>$v){
14         $arr_nums[$k]=$v[$key];
15     }
16     if($order==‘asc‘){
17         asort($arr_nums);
18     }else{
19         arsort($arr_nums);
20     }
21     foreach($arr_nums as $k=>$v){
22         $arr[$k]=$array[$k];
23     }
24     print_r($arr);
25 }
26 arr_sort($array,‘price‘);
时间: 2025-01-08 01:05:44

PHP如何根据数组中的键值进行排序的相关文章

TP5.1查询二维数组中某个键值的所有和

$course_money=0; foreach($course_arr as $key => $v){ $course_money= $course_money + $v->money; } $course_arr 是从数据库中查询的多条数据:现目的是算出 多条数据中 money字段的总和:最终:$course_money 就是最终的总和! 原文地址:https://www.cnblogs.com/weilianguang/p/10984979.html

更好列表页中一个航班.先unset删除数组中一个键值对,再追加,最后按键排序

<?php $arr = array( '0' => array('item' => array( 'aa' => 'aaa', 'bb' => 'bbb' )), '1' => array('item' => array( 'cc' => 'ccc', 'dd' => 'ddd' )), '2' => array('item' => array( 'ee' => 'eee', 'ff' => 'fff' ))); echo '

根据数组中的某个值进行排序

我这里是根据次数进行倒叙,可根据自己情况进行修改 function sortKey(array,key){ return array.sort(function(a,b){ var x = a[key]; var y = b[key]; return ((x>y)?-1:(x<y)?1:0) }) }; 原文地址:https://www.cnblogs.com/wangyang0210/p/10185494.html

PHP 统计数组中所有的值出现的次数 array_count_values 函数

array_count_values() 函数用于统计数组中所有的值出现的次数. array_count_values() PHP array_count_values() 函数用于统计数组中所有的值出现的次数,返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数. 语法: 1 array array_count_values( array array ) 例子: 1 2 3 4 <?php $arr_a = array("a", "b", 

PHP 根据配置转换数组中的键名 方便给前端的时候改键名

/** * 根据配置转换数组中的键名 * @param array $data 数据,必须为二维数组格式 [0=>[]] * @param array $keyNameMapArr 键名转换配置,key为旧的键名,value为新的键名,若找不到旧键名或者新旧键名一致则不进行转换 * @param bool $unsetOldKey 是否删除旧的键值对,默认是 * @return array */ public function changeKeyName($data, $keyNameMapAr

php合并数组并保留键值的方法

php合并数组并保留键值的方法例子1,数组使用字符串键名,相同的键名会被后面的覆盖<pre><?php$arr1 = array('name'=>'fdipzone');$arr2 = array('name'=>'terry'); $result = array_merge($arr1, $arr2); print_r($result);?></pre>输出:<pre>Array( [name] => terry)</pre>

NSMutableDictionary 类中增加键值对方法分析

在iOS中可变字典增加一个键值对的方法有setObject: forKey: 和setValue : forKey: .为了方便我们把这两个方法简称为方法A和方法B. B这个方法中其中的value值是不能为nil,否则程序会出项崩溃.而A方法中的这个value可以为nil,但是当这个value位nil时,系统会自动调用removeObjectforKey:这个方法.这样就把这个键值对删除掉了.B方法中的key值可以是任意类型的,但是这个类型必须要实现NSCopying协议.而A方法中它的key值

js去除数组中的重复值

hasOwnProperty(property) 方法 JavaScript中hasOwnProperty函数方法是返回一个布尔值,指出一个对象是否具有指定名称的属性. 使用方法: object.hasOwnProperty(proName) 其中参数object是必选项.一个对象的实例.proName是必选项.一个属性名称的字符串值. 如果 object 具有指定名称的属性,那么JavaScript中hasOwnProperty函数方法返回 true:反之则返回 false.此方法无法检查该对

javascript如何去掉数组中重复的值

javascript如何去掉数组中重复的值: 数组是用来组织数据的,有时候里面的数据是重复的,下面就介绍一下如何从数组中删除重复的内容. 代码实例如下: var theArray=[1,2,3,4,5,6,4,3,10]; function unique(data){ var data=data||[]; var a={}; for(var i=0;i<data.length;i++){ var v=data[i]; if(typeof(a[v])=='undefined'){ a[v]=1;