Write a PHP program to sort a collection of given arrays or objects by key.
<?php //Licence: https://bit.ly/2CFA5XY function orderBy($items, $attr, $order) { $sortedItems = []; foreach ($items as $item) { $key = is_object($item) ? $item->{$attr} : $item[$attr]; $sortedItems[$key] = $item; } if ($order === 'desc') { krsort($sortedItems); } else { ksort($sortedItems); } return array_values($sortedItems); } print_r(orderBy( [ ['id' => 2, 'name' => 'Red'], ['id' => 3, 'name' => 'Black'], ['id' => 1, 'name' => 'Green'] ], 'id', 'desc' )); ?>
Sample Output:
Array ( [0] => Array ( [id] => 3 [name] => Black ) [1] => Array ( [id] => 2 [name] => Red ) [2] => Array ( [id] => 1 [name] => Green ) )
total answers (1)
start bookmarking useful questions and collections and save it into your own study-lists, login now to start creating your own collections.
Sample Output:
Array ( [0] => Array ( [id] => 3 [name] => Black ) [1] => Array ( [id] => 2 [name] => Red ) [2] => Array ( [id] => 1 [name] => Green ) )need an explanation for this answer? contact us directly to get an explanation for this answer