PHP根据二维数组中的某字段排序

PHP根据二维数组中的某字段排序
在对网站的标签进行排序时,遇到了点小问题,就是需要根据二维数组中的某字段排序,其中用到了两个PHP函数,下面就记录下解决方法。

首先了解下以下两个函数:

  1. array_column() 返回输入数组中某个单一列的值。
    1
    array_column(array,column_key,index_key);
  2. array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。
    1
    array_multisort(array1,sorting order,sorting type,array2,array3...)

具体实现代码实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$tags = array(
  array(
    'id' => 48,
    'tag_name' => '学习教育',
    'slug' => 'study',
  ),
  array(
    'id' => 56,
    'tag_name' => '图片素材',
    'slug' => 'img',
  ),
  array(
    'id' => 47,
    'tag_name' => '站长工具',
    'slug' => 'tool',
  )
);

//根据字段id对数组$data进行升序排列
$ids = array_column($tags,'id');
array_multisort($ids,SORT_ASC,$tags );

var_dump($tags);
?>