3v4l.org

run code in 300+ PHP versions simultaneously
<?php $objects = [ (object)["name" => "Name1", "key" => "key1"], (object)["name" => "Name2", "key" => "key2"], (object)["name" => "Name3", "key" => "key3"], ]; $keys = ["key3", "key1"]; $lookup = array_flip($keys); $fallback = count($keys); usort($objects, function($a, $b) use ($lookup, $fallback) { return ($lookup[$a->key] ?? $fallback) <=> ($lookup[$b->key] ?? $fallback); }); var_export($objects);
Output for git.master, git.master_jit, rfc.property-hooks
array ( 0 => (object) array( 'name' => 'Name3', 'key' => 'key3', ), 1 => (object) array( 'name' => 'Name1', 'key' => 'key1', ), 2 => (object) array( 'name' => 'Name2', 'key' => 'key2', ), )

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.28 ms | 406 KiB | 5 Q