Home >Backend Development >PHP Tutorial >How to Sort an Array of Associative Arrays in PHP by Column Value?

How to Sort an Array of Associative Arrays in PHP by Column Value?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-19 02:13:08250browse

How to Sort an Array of Associative Arrays in PHP by Column Value?

Sorting an Array of Associative Arrays by Column Value

Sorting an array of associative arrays by a specific column value can be achieved using the array_multisort() function. This function takes multiple arrays and sorts them by one or more columns.

Consider the following array that represents an inventory list:

$inventory = array(
    array("type" => "fruit", "price" => 3.50),
    array("type" => "milk", "price" => 2.90),
    array("type" => "pork", "price" => 5.43)
);

To sort this array by the "price" column, we can use the following code:

$price = array();
foreach ($inventory as $key => $row) {
    $price[$key] = $row['price'];
}
array_multisort($price, SORT_DESC, $inventory);

In PHP 5.5.0 and later, we can simplify the above code using the array_column() function:

$price = array_column($inventory, 'price');
array_multisort($price, SORT_DESC, $inventory);

This will sort the $inventory array by the "price" column in descending order. The resulting array will be:

$inventory = array(
    array("type" => "pork", "price" => 5.43),
    array("type" => "fruit", "price" => 3.50),
    array("type" => "milk", "price" => 2.90)
);

The above is the detailed content of How to Sort an Array of Associative Arrays in PHP by Column Value?. 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