3v4l.org

run code in 300+ PHP versions simultaneously
<?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'); array_map($domains, function($d) { list($name, $tld) = explode('.', $d); return array('name' => $name, 'tld' => $tld); }); var_dump(sortByDefault($domains, 'biz'));

preferences:
45.48 ms | 402 KiB | 5 Q