一、前言

在某个项目中,需要读取某个文件夹下的所有文件,在本地的 Windows 环境下时,读取出来的二维数组的文件名称和在 Windows 文件夹的文件排序一致,

但是项目上线后,环境为 Linux, 读取出来的二维数组的文件名称和在 Linux 下的文件排序不一致,具体原因不清楚。

二、解决方案

对读取出来的二维数组按照文件名称进行排序,从而解决问题

参考代码:

 $arr=[
array(
'name'=>'Michael',
'age'=>28
),
array(
'name'=>'Jane',
'age'=>14
),
array(
'name'=>'Ming',
'age'=>59
),
array(
'name'=>'Justin',
'age'=>23
),
array(
'name'=>'Coco',
'age'=>23
),
array(
'name'=>'Long',
'age'=>21
),
];
print_r($arr);
array_multisort(array_column($arr,'name'),SORT_ASC,$arr);  // 按 ‘name’ 进行升序排序 SORT_ASC 升序 SORT_DESC 降序
print_r($arr);

未排序前数组排序为:

排序后前数组排序为:

 三、总结

其中  array_column(数组,数组中的某个键值)  从多维数组中取出某个键值的一列  返回一个一维数组;

array_multisort(数组(一维数组),排序方式(SORT_ASC,SOTR_DESC),其他数组(可以是二维的))

array_multisort 函数的用法请参考: PHP array_multisort()函数超详细理解

PHP 二维数组按某一个键值排序的更多相关文章

  1. 一个有用的排序函数,array_multisort(),下面的一个用法是根据二维数组里的一个字段值的大小,对该二维数组进行重新排序

    从二维数组$cashes中取出一列 'store_id'(二维数组中的每个一维数组都有的字段),按照这个的大小排序,对二维数组$caches里面的一维数组进行重新排序 实际应用如下 想让相同部门的排在 ...

  2. PHP 二维数组排序 可以按指定 键值排序

    <?php header("Content-Type:utf-8"); $arr = array( 0 => array( 'name' => '国际原油价格', ...

  3. php数组根据某一个键值,把相同键值的合并生成一个新的二维数组

    http://blog.csdn.net/xyzchenxiaolin/article/details/51700485 源数据: $infos = array( array( 'a' => 3 ...

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

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

  5. PHP 二维数组根据某个字段按指定排序方式排序

    /** * 二维数组根据某个字段按指定排序方式排序 * @param $arr array 二维数组 * @param $field string 指定字段 * @param int $sort_or ...

  6. php usort 按照数组中的某个键值排序

    //php usort 按照数组中的某个键值排序 如果第一个参数小于第二个参数 -> 返回小于0的整数如果第一个参数等于于第二个参数 -> 返回等于0的整数如果第一个参数大于于第二个参数 ...

  7. PHP如何随机获取一个二维数组中的一个值

    获取一个数组: $awardid_list=pdo_fetchall('select id from '.tablename($this->table_award)); 这是微擎的写法哈,意思就 ...

  8. 剑指offer-特定二维数组中查找一个元素是否存在-二分搜索-二维数组

    int [][] array ={ {1,2,8,9}, {2,4,9,12}, {4,7,10,13}, {6,8,11,19} }; 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都 ...

  9. search a 2D matrix(在二维数组中搜索一个元素)

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...

随机推荐

  1. Linux访问https报错

    今天用Linux(CentOS)拉Git仓库时,报了个错unable to access 'https://github.com/Wind4/vlmcsd.git/': SSL connect err ...

  2. 栈队列例题2:SetOfStack放盘子

    代码如下: import java.util.ArrayList; import java.util.Scanner; public class SetOfStack { public static ...

  3. maven课程 项目管理利器-maven 2-2第一个maven案例hellomaven

    maven 目录结构 pom.xml src -main -java -package -test -java -package -resources

  4. maven课程 项目管理利器-maven 1-2maven介绍和环境搭建

    maven简介: Maven是基于项目对象模型(POM),通过一小段描述信息来管理项目的构建.报告和文档的软件项目管理工具. 1.1 Maven安装文件夹的结构 bin 目录放置包含mvn的运行脚本 ...

  5. Linux 作业调度器 crond

    linux缺省会启动crond进程,crond进程不需要用户启动.关闭.  需要启动/关闭cron /sbin/service crond start --启动服务 /sbin/service cro ...

  6. Python中基本数据类型与对字符串处理的方法

    一.基本数据类型(int,bool,str) 1.基本数据类型: int 整数 整数 str字符串  一般不用来存放大量的数据 bool布尔值 用来判断(True,False) list 列表.用来存 ...

  7. 织梦上传webp格式图片

    织梦cms如何添加其他格式的图片呢? 这里以webp为类来实现一下如何让织梦支持webp 1.修改系统设置让织梦(dede)支持该图片格式,比如:webp(新图片格式) 系统->系统基本参数-& ...

  8. poi读取excel的辅助类

    补充:对于这个工具已经转为一个工程项目,采用的是saxreader方式,支持大数据文件的读取.具体可以参照  github上的源码,使用可以简单参照wiki.项目wiki地址https://git.o ...

  9. C#设计模式--工厂模式(创建型模式)

    一.简单工厂模式(UML类图): 核心类代码: public class Calc { public double NumberA { get; set; } public double Number ...

  10. 利用XShell和WinSCP连接本机和Linux虚拟机——Kali部署

    1.XShell支持在本机直接连接Linux终端,加快速度,支持命令的复制粘贴 2.WinSCP 支持本机与Linux的文件复制粘贴 关键:使用SSH协议,所以要在Linux开启ssh服务,下面以Ka ...