3v4l.org

run code in 300+ PHP versions simultaneously
<?php $order = array( 85, 35, 58, 68 ); $array = array( array("id" => 58, "title" => "Must Be #3"), array("id" => 85, "title" => "Must Be #1"), array("id" => 68, "title" => "Must Be #4"), array("id" => 35, "title" => "Must Be #2"), array("id" => 69, "title" => "Dont Care #1"), array("id" => 77, "title" => "Dont Care #2"), array("id" => 79, "title" => "Dont Care #3"), array("id" => 80, "title" => "Dont Care #4") ); function custom_compare($a, $b){ global $order; var_dump($order); $a = array_search($a["id"], $order); $b = array_search($b["id"], $order); if($a === false && $b === false) { // both items are dont cares return 0; // a == b } else if ($a === false) { // $a is a dont care item return 1; // $a > $b } else if ($b === false) { // $b is a dont care item return -1; // $a < $b } else { return $a - $b; } } usort($array, "custom_compare"); foreach($array as $item): echo $item["id"]; echo $item["title"]; echo "\r\n"; endforeach; ?>

preferences:
38.84 ms | 402 KiB | 5 Q