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!