3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $array = [ ['name' => "select"], ['name' => "table"], ['name' => "where"], ['name' => "where"], ]; var_dump($array); usort($array, function ($a, $b) { return (int) ('table' === $b['name']); }); var_dump($array);
based on OPnsJ

Shows result from various feature-branches currently under review from the php developers. Contact me to have additional branches featured.

Output for Typed properties v2
array(4) { [0]=> array(1) { ["name"]=> string(6) "select" } [1]=> array(1) { ["name"]=> string(5) "table" } [2]=> array(1) { ["name"]=> string(5) "where" } [3]=> array(1) { ["name"]=> string(5) "where" } } array(4) { [0]=> array(1) { ["name"]=> string(5) "table" } [1]=> array(1) { ["name"]=> string(6) "select" } [2]=> array(1) { ["name"]=> string(5) "where" } [3]=> array(1) { ["name"]=> string(5) "where" } }
Output for Array change keys
array(4) { [0]=> array(1) { ["name"]=> string(6) "select" } [1]=> array(1) { ["name"]=> string(5) "table" } [2]=> array(1) { ["name"]=> string(5) "where" } [3]=> array(1) { ["name"]=> string(5) "where" } } array(4) { [0]=> array(1) { ["name"]=> string(5) "table" } [1]=> array(1) { ["name"]=> string(6) "select" } [2]=> array(1) { ["name"]=> string(5) "where" } [3]=> array(1) { ["name"]=> string(5) "where" } }
Output for Lexical anon
array(4) { [0]=> array(1) { ["name"]=> string(6) "select" } [1]=> array(1) { ["name"]=> string(5) "table" } [2]=> array(1) { ["name"]=> string(5) "where" } [3]=> array(1) { ["name"]=> string(5) "where" } } array(4) { [0]=> array(1) { ["name"]=> string(5) "table" } [1]=> array(1) { ["name"]=> string(6) "select" } [2]=> array(1) { ["name"]=> string(5) "where" } [3]=> array(1) { ["name"]=> string(5) "where" } }

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