Home  >  Article  >  Backend Development  >  How to sort a two-dimensional array in php

How to sort a two-dimensional array in php

PHPz
PHPzOriginal
2023-05-20 11:10:374766browse

PHP is a commonly used Web programming language. In different application scenarios, the processing of arrays is inevitable. Array sorting is also a problem often faced during development. This article will explain how to sort a two-dimensional array.

1. Overview of two-dimensional array sorting

In PHP, a two-dimensional array is a composite array linked by multiple one-dimensional arrays, that is to say, it not only has the concept of rows , and the concept of columns. When you need to sort a two-dimensional array, you usually need to sort one of its columns. At this time, you need to use the functions provided by PHP for sorting.

2. Method of sorting two-dimensional arrays

1. Use usort() function

usort() function is a function that comes with PHP to sort arrays One, it can customize the sorting of elements in an array, supports multiple sorting methods, and has relatively flexible parameters. We can use the usort() function to sort a two-dimensional array.

The sample code is as follows:

// 定义一个二维数组
$array = array(
    array('name' => 'Tom', 'age' => 18),
    array('name' => 'Jerry', 'age' => 20),
    array('name' => 'Jack', 'age' => 22)
);

// 根据age字段进行升序排序
usort($array, function($a, $b){
    return $a['age'] - $b['age'];
});

// 输出排序后的数组
print_r($array);

In the above sample code, we define a two-dimensional array that contains each person’s name and age information, and use the usort() function to sort this two-dimensional array The dimensional array is sorted in ascending order according to the age field. Among them, the anonymous function is used to compare the value of the age field and perform corresponding sorting operations.

2. Use the array_multisort() function

The array_multisort() function is another function used for sorting in PHP. It can sort multiple one-dimensional arrays or multiple multi-dimensional arrays. This function starts with two required parameters - the first parameter is the array to be sorted, and the second parameter is the optional sorting method. We can also use this function to sort two-dimensional arrays.

The sample code is as follows:

// 定义一个二维数组
$array = array(
    array('name' => 'Tom', 'age' => 18),
    array('name' => 'Jerry', 'age' => 20),
    array('name' => 'Jack', 'age' => 22)
);

// 定义排序规则
$sort_order = array();
foreach($array as $key => $value){
    $sort_order[$key] = $value['age'];
}

// 根据age字段进行升序排序
array_multisort($sort_order, SORT_ASC, $array);

// 输出排序后的数组
print_r($array);

In the above sample code, we define a two-dimensional array that contains the name and age information of each person, and use the array_multisort() function to sort this The two-dimensional array is sorted in ascending order according to the age field. Among them, the $sort_order array is used to store age information and is passed to the array_multisort() function to determine the sorting method.

3. Use the array_sort() function

array_sort() is a function written by PHP developers themselves specifically for multi-dimensional array sorting. It is very simple to use. You only need to pass the array to be sorted and the field to be sorted to complete the sorting.

The sample code is as follows:

// 定义一个二维数组
$array = array(
    array('name' => 'Tom', 'age' => 18),
    array('name' => 'Jerry', 'age' => 20),
    array('name' => 'Jack', 'age' => 22)
);

// 根据age字段进行升序排序
array_sort($array, 'age', 'asc');

// 输出排序后的数组
print_r($array);

In the above sample code, we also define a two-dimensional array and use the array_sort() function to sort the two-dimensional array in ascending order according to the age field. .

3. Summary

The above are three methods for sorting two-dimensional arrays. Each method has its own characteristics and scope of application. In actual development, you can choose a suitable method to sort the two-dimensional array according to specific needs.

The above is the detailed content of How to sort a two-dimensional array in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn