php 对数组按某个字段进行排序

//$arrays 需要排序的数组,$sort_key 需要排序的键名称function my_sort($arrays,$sort_key,$sort_order=SORT_DESC,$sort_type=SORT_NUMERIC ){
    if(is_array($arrays)){
        foreach ($arrays as $array){
            if(is_array($array)){
                $key_arrays[] = $array[$sort_key];
            }else{
                return false;
            }
        }
    }else{
        return false;
    }
    array_multisort($key_arrays,$sort_order,$sort_type,$arrays);
    return $arrays;
}
时间: 2024-08-07 17:47:31

php 对数组按某个字段进行排序的相关文章

PHP中根据二维数组中某个字段实现排序

想要实现二维数组中根据某个字段排序,一般可以通过数组循环对比的方式实现.这里介绍一种更简单的方法,直接通过PHP函数实现.array_multisort() :可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序.详细介绍可参考PHP手册:https://www.php.net/manual/zh/function.array-multisort.php 实例: 1.单个字段排序: $data = [ ['id' => 1, 'name' => '张三', 'sort' =&

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 $

PHP 二维数组根据某个字段排序

原文:PHP 二维数组根据某个字段排序 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条. 遇到这个要求的时候就不是 ORDER BY 能解决的问题了.因此翻看 PHP 手册查找到了如下方法,做此笔记. <?php /** * 二维数组根据某个字段排序 * 功能:按照用户的年龄倒序排序 * @author ruxing.li */ header('Content-Type:text/html;Charset=utf-8'

php根据某一数组字段进行排序

$array = array( 0 => array( 'id' => 1, 'name' => 1, 'ord' => 1, ), 1 => array( 'id' => 3, 'name' => 3, 'ord' => 3, ), 2 => array( 'id' => 2, 'name' => 2, 'ord' => 2, ), ); $ords = array(); //提取排序字段 foreach($array as $v1

php 按照二位数组中某个指定的字段进行排序

/** * 按照二维数组中某个指定的某个字段进行排序 * @param $array 需要被排序的数组 * @param $flag 排序的标志 1,SORT_DESC 降序 2,SORT_ASC 升序 * @param int $range * @return array */function assortArray2($array,$flag,$keyword){ $sort = array( 'direction' => $flag, //排序顺序标志 1 ,SORT_DESC 降序:2

二维数组针对某字段排序 - array_multisort()

/** * 针对二维数组下的某字段排序 * @param array $myarr 被排序数组 * @param string $sort_key 排序根据字段 * @param flag $sort_order 排序规则:SORT_ASC.SORT_DESC * @param flag $sort_type 排序类型:SORT_REGULAR.SORT_NUMERIC.SORT_STRING * @return array 排序后的数组 */ public function myarr_sor

对JavaScript对象数组按指定属性和排序方向进行排序

引子 在以数据为中心的信息系统中,以表格形式展示数据是在常见不过的方式了.对数据进行排序是必不可少的功能.排序可以分为按单个字段排序和按多个字段不同排序方向排序.单字段排序局限性较大,不能满足用户对数据的关注点变化的需求,而多字段排序就可以较好的弥补这个缺陷. 多字段排序,实现的方式从大的层面上可以分为后端实现和前端实现. 后端排序 后端实现排序可以在数据库层面实现或者在应用程序层面实现. 数据库层面实现多字段排序非常简单,使用SQL的排序指令“Order By”即可——Order By fie

Java中对JSONArray中的对象的某个字段进行排序

需求: 今天调用一个第三方接口,然后返回的是一个josn数组,需要根据里面的"报告日期"报告日期进行由大到小排序,最新的排在前面. 这种别人接口已经开发完成,不能改,所以只有我们自己来排序. 思路一():将josn数组转为list集合,然后获取到里面的每个对象,再获取"报告日期",然后排序,然后对对应的对象排序. 思路二: 实现java的Collections.sort方法,自定义Comparator方法,然后排序. 这样效率比较高. 下面是测试和实现代码. imp

qsort 函数的使用——对普通数组、指针数组、二维数组中的元素进行排序

在ANSI C中,qsort函数的原型是 #include <stdlib.h> void qsort(void *base, size_t nmemb, size_t size, int (*compar) (const void *, const void *)); 解释:qsort函数对含有nmemb个元素的数组进行排序,而base指针指向数组的第一个元素.这个数组的元素个数由size指定. compar函数对qsort的比较操作进行定义,所以可以定制数字的比较,字符串的比较,甚至结构体