php sort multiple array with value code example
Example 1: sort multidimensional array in php
<?php
function sortByPrice($a, $b){
return $a['price'] > $b['price'];
}
$items = [
['label' => 'cake', 'name' => 'Cake', 'price' => 150],
['label' => 'pizza', 'name' => 'Pizza', 'price' => 250],
['label' => 'puff', 'name' => 'Veg Puff', 'price' => 20],
['label' => 'samosa', 'name' => 'Samosa', 'price' => 14]
];
usort($items, 'sortByPrice');
print "<br/> After Sort by Price printing: <br/>";
foreach($items as $item){
print $item['name']." ".$item['price']."<br/>";
}
$newArray = array_column($items, 'price', 'name');
$totalExp = array_sum(array_column($items, 'price', 'name'));
$maxPrice = max(array_column($items, 'price', 'name'));
$minPrice = min(array_column($items, 'price', 'name'));
print "Total Expenses : ".$totalExp."<br/>";
print "What is Costly Item : ".$maxPrice.' ('.array_search($maxPrice, $newArray).")<br/>";
print "What is Cheap Item : ".$minPrice.' ('.array_search($minPrice, $newArray).")<br/>";
?>
Example 2: php sort multidimensional array by value
function sortByOrder($a, $b) {
return $a['order'] - $b['order'];
}
usort($myArray, 'sortByOrder');