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

本文讲解了如何使用 PHP 对二维数组进行排序,如根据指定字段降序或升序排列,并介绍了在特定规则下查找元素的方法。涉及到了`array_multisort()`函数和二维数组的查找算法,适合面试准备或巩固数据结构知识。

/**

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

* @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 ,SORT_ASC 升序

'field' => $keyword, //排序字段

);

$arrSort = array();

foreach ($array AS $uniqid => $row) {

foreach ($row AS $key => $value) {

$arrSort[$key][$uniqid] = $value;

}

}

if ($sort['direction']) {

array_multisort($arrSort[$sort['field']], constant($sort['direction']), $array);

}

return $array;

}

剑指offer:二位数组中的查找

准备找实习期间,复习一下数据相关内容,刷刷题. 题目描述: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样 ...

PHP二维数组,根据多个字段来排序

如果是最最常见的二维数组排序, 大多数情况下也只用到二维: 用php内置函数 array_multisort( )  是最简单的: <?php 假设, $arr 是一个二维数组, $arg1是取 ...

PHP获取二维数组中的指定若干列【同array&lowbar;column】

PHP5.3以上  用到了array_map 使用匿名函数进行处理 代码: <?php function array_col($arr = array(), $idx = 0, $newidx ...

PHP二维数组去重(指定键名)

本例对二维数组中某个指定键名进行去重,发现网上大多使用array_unique或是foreach遍历等方式去重,效果不佳且较为繁琐. 本文以二维数组去重为引,介绍array_column函数的三种用法 ...

二维数组中的查找(剑指offer&lowbar;4)

给定一个二维数组,其每一行从左到右递增排序,从上到下也是递增排序.给定一个数,判断这个数是否在该二维数组中. Consider the following matrix: [ [1, 4, 7, 11 ...

如何从二维数组中的多个key中获取指定key的值?

精华 LOVEME96 2016-10-21 10:40:19 浏览(1512) 回答(3) 赞(0) 新手求教:二维数组中一般会有多个key,如果我们要获得指定key的值,应该怎么做? 问题标签: ...

二维数组过滤,根据多个条件获取二维数组中指定的arr

/** * 二维数组过滤,根据多个条件获取二维数组中指定的arr * @param $data_arr * @param $lm_number * @param $source_type * @par ...

java中Arrays&period;sort&lpar;&rpar;对二位数组进行排序

int [][]a = new int [5][2]; //定义一个二维数组,其中所包含的一维数组具有两个元素 对于一个已定义的二位数组a经行如下规则排序,首先按照每一个对应的一维数组第一个元素进行升 ...

剑指Offer&lowbar;4&lowbar;二维数组中的查找

题目描述       在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数.       ...

随机推荐

IOS中延迟执行的几种方法

前几天去国美在线面试,就遇到了上面的问题,当时是笔试,只写出来了第一种方法,现在整理了一下. //1.performSelector方法:在当前线程中执行的方法,使用默认模式,并延迟执行@select ...

30年的Hello world

30 年的 Hello world 转载自:http://www.admin10000.com/document/2398.html 最近我在7月4日这一天所在的那周休假了.休假期间,我利用大把的时间 ...

Android textView 动态设置代码字号大小,支持单位选项 dp&comma;sp or px

setTextSize(TypedValue.COMPLEX_UNIT_PX,22); //22像素 setTextSize(TypedValue.COMPLEX_UNIT_SP,22); //22S ...

MVC身份验证及权限管理

MVC自带的ActionFilter 在Asp.Net WebForm的中要做到身份认证微软为我们提供了三种方式,其中最常用的就是我们的Form认证,需要配置相应的信息.例如下面的配置信息: < ...

获取ajax对象

function ajaxFunction(){ var xmlHttp; try{ // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest ...

C&num; 反射技术应用

反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类.结构.委托.接口和枚举等)的成员,包括方法.属性.事件,以及构造函数等.还可以获得每个成员的 ...

js常用语句写法

1.for语句 for(var i = 0; i<6; i++) //0,1,2,3,4,5

Flash对不同的浏览器的兼容性

现在遇到两个Flash的兼容性问题: 1.找不到指定的摄像头(VCamera),可是该摄像头在QQ等IM工具中是可以正常使用的 2.能找到摄像头,不过他的预览是黑屏 针对第一个问题: a.采用IE内核 ...

Celery&plus;redis实现异步

目录 Celery+redis实现异步 安装redis 安装celery-with-redis 添加celery相关配置 创建异步运行任务tasks.py 启动 Celery+redis实现异步 安装 ...

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值