PHP多维数组指定多字段排序的示例代码_php实例_脚本之家

本文由码农网 –
小峰原创,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划!

介绍array_multisort方法

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

array_multisort — 对多个数组或多维数组进行排序.其php 手册中的说明如下:

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);
}

复制代码 代码如下:bool array_multisort (
array &$arr [, mixed $arg = SORT_ASC [, mixed $arg = SORT_REGULAR
[, mixed $… ]]]澳门新葡亰娱乐在线, )

以上就是PHP指定字段的多维数组排序方法,希望这段PHP代码对你带来帮助。

参数

arr 要排序的一个 array。

arg 接下来的每个参数可以是另一个 array 或者是为之前 array
排序标志选项参数: SORT_ASC, SORT_DESC,SORT_REGULAR, SORT_NUMERIC,
SORT_STRING. … Additional arg’s.

先实现指定多维数组一个字段排序

此处要求根据其中的一个字段来对数组进行排序,数组假设如下:

 $array = array( 0=>array('id'=>8,'name'=>'Tom'), 1=>array('id'=>9,'name'=>'Peter'), 2=>array('id'=>5,'name'=>'Jack') );

我们要根据二维数组的id值来排序,转换后的数组格式如下:

 $array = array( 0=>array('id'=>5,'name'=>'Jack') 1=>array('id'=>8,'name'=>'Tom'), 2=>array('id'=>9,'name'=>'Peter') );

要完成上述的转换,需要用到上面介绍的array_multisort函数,如下:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图