3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php function sortByDefault(array $domains, $default='com') { $GLOBALS['defaulttld'] = $default; if (!function_exists('tldsort')) { function tldsort($a, $b) { $default = $GLOBALS['defaulttld']; if ($a['tld'] == $default) { return -1; } elseif ($b['tld'] == $default) { return 1; } elseif ($a['tld'] == 'net') { return -1; } elseif ($b['tld'] == 'net') { return 1; } elseif ($a['tld'] == 'org') { return -1; } elseif ($b['tld'] == 'org') { return 1; } elseif ($a['tld'] == 'us') { return -1; } elseif ($b['tld'] == 'us') { return 1; } elseif ($a['tld'] == 'biz') { return -1; } elseif ($b['tld'] == 'biz') { return 1; } elseif ($a['tld'] == 'info') { return -1; } elseif ($b['tld'] == 'info') { return 1; } else { return strcmp($a['tld'], $b['tld']); } } } uasort($domains, 'tldsort'); return $domains; } $domains = array('google.com', 'google.net', 'google.org', 'google.us', 'google.biz', 'google.info'); // Format these into arrays so that this shitty function works. $domains = array_map(function($d) { list($name, $tld) = explode('.', $d); return array('name' => $name, 'tld' => $tld); }, $domains); var_dump(sortByDefault($domains, 'biz'));
based on KZ4lU
Output for 5.3.0 - 5.6.28, hhvm-3.10.0 - 3.12.0, 7.0.0 - 7.1.0
array(6) { [4]=> array(2) { ["name"]=> string(6) "google" ["tld"]=> string(3) "biz" } [1]=> array(2) { ["name"]=> string(6) "google" ["tld"]=> string(3) "net" } [2]=> array(2) { ["name"]=> string(6) "google" ["tld"]=> string(3) "org" } [3]=> array(2) { ["name"]=> string(6) "google" ["tld"]=> string(2) "us" } [5]=> array(2) { ["name"]=> string(6) "google" ["tld"]=> string(4) "info" } [0]=> array(2) { ["name"]=> string(6) "google" ["tld"]=> string(3) "com" } }
Output for 5.1.0 - 5.2.17
Parse error: syntax error, unexpected T_FUNCTION, expecting ')' in /in/ddeCO on line 45
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected T_ARRAY, expecting '&' or T_VARIABLE in /in/ddeCO on line 2
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_ARRAY, expecting ')' in /in/ddeCO on line 2
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_ARRAY, expecting ')' in /in/ddeCO on line 2
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `')'' in /in/ddeCO on line 2
Process exited with code 255.