array of object sort php by key code example

Example 1: php sort array by object value

/**
 * A generic PHP sorting algorithm that uses `usort` and `strcmp`.
 * `usort` — Sort an array by values using a user-defined comparison function.
 * `strcmp` — Returns < 0 if param 1 is less than param 2; > 0 if param 1 is greater than param 2, and 0 if they are equal.
 */
$questions = [
  { id: 1, ordinal: 55 },
  { id: 2, ordinal: 67 },
  { id: 3, ordinal: 32 },
];

function sortByOrdinal($param1, $param2) {
    return strcmp($param1->ordinal, $param2->ordinal);
}

/* `usort` alters an existing array. */
usort($questions, "sortByOrdinal");

/**
 * $questions = [
 *   { id: 3, ordinal: 32 },
 *   { id: 1, ordinal: 55 },
 *   { id: 2, ordinal: 67 },
 * ];
 */

Example 2: php sort array by key

$weight = [
    'Pete' => 75, 
    'Benjamin' => 89,
    'Jonathan' => 101
  ];  	
  ksort($weight);

Example 3: php sort array of array by key

$inventory = [
	['price' => 10.99, 'product' => 'foo 1'],
    ['price' => 5.99, 'product' => 'foo 2'],
  	['price' => 100, 'product' => 'foo 3'],
  
];

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

array_multisort($price, SORT_DESC, $inventory);

Tags:

Php Example