<?php $array = [ (object)['id' => 8], (object)['id' => 7], (object)['id' => 5] ]; $order = [5, 8, 1]; $order = array_flip($order); $order[''] = max(array_column($array, 'id')) + 1; usort($array, function($a, $b) use ($order) { return ($order[$a->id] ?? $order['']) <=> ($order[$b->id] ?? $order['']); }); var_export($array);
You have javascript disabled. You will not be able to edit any code.