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; $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; ?>
Output for git.master, git.master_jit, rfc.property-hooks
85Must Be #1 35Must Be #2 58Must Be #3 68Must Be #4 69Dont Care #1 77Dont Care #2 79Dont Care #3 80Dont Care #4

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
35.08 ms | 401 KiB | 8 Q