PHP二维数组根据某个元素(key)排序

    /**
     * 二维数组根据key排序
     * @param $arr
     * @param $arr_key
     * @param string $order 排序规则
     * @return mixed
     */
    function myArrayMultisort($arr,$arr_key,$order=‘asc‘){
        foreach($arr as $val){
            $key_arrays[]=$val[$arr_key];
        }

        if ($order == ‘asc‘){
            array_multisort($key_arrays,SORT_ASC,SORT_NUMERIC,$arr);
        }else{
            array_multisort($key_arrays,SORT_DESC,SORT_NUMERIC,$arr);
        }
        return $arr;
    }

原文地址:https://www.cnblogs.com/bk233/p/9023518.html

时间: 2024-08-06 17:23:59

PHP二维数组根据某个元素(key)排序的相关文章

PHP二维数组根据某个元素(key)去重

/** * 二维数组根据key去重复 * @param $arr * @param $key * @return array */ function arrayUniqueness($arr,$key){ $res = array(); foreach ($arr as $value) { //查看有没有重复项 if(isset($res[$value[$key]])){ //有:销毁 unset($value[$key]); } else{ $res[$value[$key]] = $valu

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的比较操作进行定义,所以可以定制数字的比较,字符串的比较,甚至结构体

PHP对一个二维数组内的元素进行排序和冒泡排序

$arr=array( 'a'=>array('name'=>'n1','age'=>22), 'b'=>array('name'=>'n2','age'=>21), 'c'=>array('name'=>'n3','age'=>25), 'd'=>array('name'=>'n4','age'=>20) ); //要求根据age值,对数组进行排序. $newArr=array(); $arrn=$arr; foreach($arr

PHP二维数组合并,根据某个key合并

/** *PHP二维数组合并,根据某个key合并 * @param type $v 要传入的组合阵列 * @param type $keyname 对应的KEY名称. * @param type $valname 要写入的值KEY名称 * @param type $s 重组译的阵例.预设空值. */ function test($v,$keyname,$valname,$s=Array()){ foreach($v AS $_k => $d){ $s[$d[$keyname]][$valname

php对二维数组进行相关操作(排序、转换、去空白等)

php对二维数组进行相关操作(排序.转换.去空白等) 投稿:lijiao 字体:[增加 减小] 类型:转载 时间:2015-11-04 这篇文章主要介绍了php对二维数组进行相关操作,包括php对二维数组排序.转换.去空白,以及去重复值等,感兴趣的小伙伴们可以参考一下 技巧提示: ? 1 2 3 4 5 6 7 8 9 array_keys($array) //返回所有键名   array_values($array) //返回所有键值    $result=array_reverse($inp

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

分享下PHP二维数组如何根据某个字段排序的方法. 从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条. 本文记录的要实现的功能类似于 MySQL 中的 ORDER BY,上个项目中有遇到这样的一个需求. 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条. 这个要求就不是 ORDER BY 能解决的问题了.因此翻看 PHP手册查找到了如下方法,做此笔记.

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

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

实例13_求解二维数组的最大元素和最小元素

实例说明: 看完题,我觉得作者应该就是让我输出一个数组中最大的数字和最小的数字吧,于是开始写了. 1.先给数组赋值 2.然后遍历数组,通过中间值,选出最大的和最小的. 1 /** 2 * Copyright (c) 1991 - 2016 Arvin Tang. 3 * All rights reserved. 4 * 5 * 文件名称:实例13 6 * 简要描述:求解二维数组的最大和最小元素 7 * 8 * 当前版本:1.0 9 * 作 者: 10 * 完成日期:2016-1-7 11 * 修

查找有序二维数组中的元素

给定一个已排序的二维数组array,在其中查找一个元素value 查找策略如下图: (1)将value和数组的右上角的值比较,如果大于右上角的值,则移除数组的第一行. (2)将value和数组的左下角的值比较,如果大于左下角的值,则移除数组的第一列. (3)直到查找完毕,已经找不到符合(1)(2)的情况后,或者数组只剩下一个元素 (4)得到一个较小的二维数组,再遍历该数组即可.             /** * Created by wuchao on 17-3-29. */ import j