数组排序array_multisort
array_multisort --对多个数组或者多维数组进行排序[参考:secure.php.net]
说明:
bool array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC [, mixed $array1_sort_flags = SORT_REGULAR [, mixed $... ]]] )
array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。
参数
- array1 要排序的array
- array1_sort_order 之前array参数要排列的顺序。SORT_ASC按照上升顺序排序,SORT_DESC按照下降顺序排序。此参数可以和array_sort_flags 互换,也可以完成删除,默认是SORT_ASC。
- array1_sort_flags 为array参数设定选项:
排序类型标志:
SORT_REGULAR - 将项目按照通常方法比较(不修改类型)
SORT_NUMERIC - 按照数字大小比较
SORT_STRING - 按字符串比较
SORT_LOCALE_STRING - 根据当前的本地化设置,按照字符串比较。它会使用locale信息,可以通过setlocale()修改此信息。
SORT_NATURAL - 以字符串的“自然排序”,类似natsort()
SORT_FLAG_CASE - 可以组合(按位或OR)SORT_STRING或者SORT_NATURAL 大小写不敏感的方式排序字符串。
参数可以和array1_sort_order交换或者省略,默认情况下是SORT_REGULAR。
返回值
成功时返回TRUE,或失败时FALSE
实例:
$nums = array(1,4,5,2,9);
$str = array("a","g","i","z","k");
array_multisort($nums , SORT_DESC , $str);
print_r($nums);
print_r($str);
$arr = array(
array("spid"=>"1","time"=>100),
array("spid"=>"1","time"=>105),
array("spid"=>"2","time"=>104),
array("spid"=>"1","time"=>102),
array("spid"=>"2","time"=>101),
);
$spids = array();
$times = array();
foreach ($arr as $key => $value) {
$spids[] = $value['spid'];
$times[] = $value['time'];
}
//array_multisort($times,SORT_DESC ,$spids,SORT_ASC , $arr );
//先按照spids列降序,再按照times列升序
array_multisort($spids,SORT_ASC ,$times,SORT_DESC , $arr );
//array_multisort($spids,SORT_DESC , $arr );
print_r($arr);
输出:
9 5 4 2 1
k i g z a
["1":105,"1":102,"1":100,"2":104,"2":101]
数组排序array_multisort的更多相关文章
- php基础篇-二维数组排序 array_multisort
原文:php基础篇-二维数组排序 array_multisort 对2维数组或者多维数组排序是常见的问题,在php中我们有个专门的多维数组排序函数,下面简单介绍下: array_multisort(a ...
- php 对多维数组排序array_multisort
php 对多维数组排序array_multisort 排序顺序标志: SORT_ASC - 按照上升顺序排序 SORT_DESC - 按照下降顺序排序 排序类型标志: SORT_REGULAR - 将 ...
- 二维,多维数组排序array_multisort()函数的使用
对于数组的排序,很很多方法:随便百度了一下 sort() - 以升序对数组排序 rsort() - 以降序对数组排序 asort() - 根据值,以升序对关联数组进行排序 ksort() - 根据键, ...
- PHP 多维数组排序 array_multisort()
用PHP自带array_multisort函数排序 <?php $data = array(); $data[] = array('volume' => 67, 'edition' ...
- php实现二维数组排序array_multisort($ages, SORT_DESC, $home)函数
1.sql查询排序参数是order by,那么php进行排序呢 可以参考array_multisrot函数 //php进行二维数组排序 -xzz1009 foreach($home as $home) ...
- 对维数组排序 array_multisort()的应用
PHP允许在多维数组上执行一些比较复杂的排序--例如,首先对一个嵌套数组使用一个普通的关键字进行排序,然后再根据另一个关键字进行排序.这与使用SQL的ORDER BY语句对多个字段进行排序非常相似.为 ...
- PHP的一个牛逼的数组排序函数array_multisort
函数详情,具体可参考 官方手册 array_multisort 实际问题是这样的,有这么一组数据: $arr_times = array( array('2018-04-12 04:25:00', 3 ...
- php array_multisort对数据库结果多个字段进行排序
php array_multisort对数据库结果多个字段进行排序$data 数组中的每个单元表示一个表中的一行.这是典型的数据库记录的数据集合. 例子中的数据如下:volume | edition ...
- PHP一维数组和二维数字排序整理
<?php /** 一维数组排序 sort() - 以升序对数组排序 rsort() - 以降序对数组排序 asort() - 根据值,以升序对关联数组进行排序 ksort() - 根据键,以升 ...
随机推荐
- YOLO v1论文笔记
You Only Look Once:Unified, Real-Time Object Detection 论文链接:https://arxiv.org/abs/1506.02640 Homep ...
- 《挑战程序设计竞赛》2.3 动态规划-优化递推 POJ1742 3046 3181
POJ1742 http://poj.org/problem?id=1742 题意 有n种面额的硬币,面额个数分别为Ai.Ci,求最多能搭配出几种不超过m的金额? 思路 据说这是传说中的男人8题呢,对 ...
- Spoken English Practice( let me just pull over(pull,give))
绿色:连读: 红色:略读: 蓝色:浊化: 橙色:弱读 下划线_为浊化 口语蜕变(2017/6/26) ...
- javascript的解析过程
引言: javascript是一种解释型的脚本语言,它不同于java或者c#这种编译语言,不需要编译成游览器可识别的语言,而是由游览器动态解析和执行的.(本身就是游览器可以直接识别,javascrip ...
- FineUI 获取x_state并解析
public JObject PostBackStates() { JObject xState = null; if (Page.IsPostBack) { string state = HttpC ...
- Akka Essentials - 2
Actors Defining an actor class MyActor extends Actor { def receive = { } } In Scala, the receive blo ...
- Redis的Python客户端redis-py说明文档(转)
add by zhj: 对Publish / Subscribe,LUA Scripting,Sentinel support,Scan Iterators等部分没有翻译,需要的用户参见英文原文吧.另 ...
- Pandas 删除指定列中为NaN的行
定位要删除的行 需求:删除指定列中NaN所在行. 如下图,’open‘ 列中有一行为NaN,定位到它,然后删除. 定位: df[np.isnan(df['open'])].index # 这样即可定位 ...
- kubestack 源码分析
简介:KubeStack is an OpenStack network provider for kubernetes.KubeStack is devided into two functions ...
- Linux(8)- nginx+uWSGI+virtualenv+supervisor 发布web服务器
一.理论梳理 WSGI是web服务器的网关接口,它是一个规范,描述了web服务器(下图中的WEB server)如何与web应用程序(下图中的Application)通信,以及web应用程序如何链接在 ...