PHP指定字段的多维数组排序方法

PHP数组排序可以用array_multisort方法实现,但是如果是多维数组,并且我们要指定数组中的某个字段进行排序,那么这就需要我们自己写方法实现了。

function sortArrByField(&$array$field$desc = false){

  $fieldArr array();

  foreach ($array as $k => $v) {

    $fieldArr[$k] = $v[$field];

  }

  $sort $desc == false ? SORT_ASC : SORT_DESC;

  array_multisort($fieldArr$sort$array);

}

时间: 2024-10-13 15:44:12

PHP指定字段的多维数组排序方法的相关文章

PHP 数组排序 +php二维数组排序方法

PHP - 一维数组的排序函数 在本节中,我们将学习如下 PHP 数组排序函数: sort() - 以升序对数组排序 rsort() - 以降序对数组排序 asort() - 根据值,以升序对关联数组进行排序 ksort() - 根据键,以升序对关联数组进行排序 arsort() - 根据值,以降序对关联数组进行排序 krsort() - 根据键,以降序对关联数组进行排序 一维数组排序可以使用asort.ksort等一些方法进程排序,相对来说比较简单.二维数组的排序怎么实现呢?使用array_m

php二维数组排序方法(array_multisort usort)

一维数组排序可以使用asort.ksort等一些方法进程排序,相对来说比较简单.二维数组的排序怎么实现呢?使用array_multisort和usort可以实现. 例如像下面的数组: 复制代码代码如下: $users = array( array('name' => 'tom', 'age' => 20) , array('name' => 'anny', 'age' => 18) , array('name' => 'jack', 'age' => 22) ); 希望

php二维数组排序方法(转自http://www.3lian.com/edu/2013/12-26/118882.html)

一维数组排序可以使用asort.ksort等一些方法进程排序,相对来说比较简单.二维数组的排序怎么实现呢?使用array_multisort和usort可以实现 例如像下面的数组: 代码如下: $users = array( array('name' => 'tom', 'age' => 20) , array('name' => 'anny', 'age' => 18) , array('name' => 'jack', 'age' => 22) ); 希望能按照ag

Yii使用find findAll查找出指定字段的实现方法

Yii使用find findAll查找出指定字段的实现方法,非常实用的技巧,需要的朋友可以参考下. 用过Yii的朋友都知道,采用如下方法: 查看代码 打印 1 modelName::model()->find() //找出的是一个对象 2 modelName::model()->findALL() //找出的是一个对象集合的数组 可以找出对象与对象集合的数组,那么如何找出我所需要的字段的数据,而不是全部字段的数据呢?之前我是这么做的: 查看代码 打印 1 $criteria=new CDbCr

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

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

PHP二维数组排序(感谢滔哥)

滔哥原创 /*                     _ooOoo_                    o8888888o                    88" . "88                    (| -_- |)                    O\  =  /O                 ____/`---'\____               .'  \\|     |//  `.              /  \\|||  :  |

PHP 二维数组排序保持键名不变

对二维数组指定的键名排序,首先大家想到的是array_multisort函数,关于array_multisort的用法我之前也写了一篇废话不多言,我们看个实例: <?php $data = array( 1001 => array( 'age' => 22, 'name' => '鸠摩智' ), 1007 => array( 'age' => 21, 'name' => '慕容复' ), 1004 => array( 'age' => 27, 'nam

PHP中有关多维数组排序

有关多维数组排序的问题,工作中经常遇到,但是不同的人,处理的方法不一样,比如下面的数组 $data = array(         array("name"=>"kivmi","age"=>27),         array("name"=>"sathen","age"=>24),         array("name"=>&quo

Php 数组排序之多维数组排序

Php 数组排序之多维数组排序 php 中最强大的类型非数组莫属!任何类型的数据都可以用数组来存储. 项目开发中对数组排序已是家常便饭,本文主要是总结一些经验和方法以及它们的区别,供大家学习参考. 一维数组排序 sort 函数: 本函数对数组值转换为整型并被从最低到最高重新安排,删除原有的键名.成功时返回 TRUE, 或者在失败时返回 FALSE. rsort 函数: 本函数对数组值转换为整型并被从最高到最低重新安排,删除原有的键名.成功时返回 TRUE, 或者在失败时返回 FALSE. aso