<?php
function sortByDefault(array $domains, $default='com') {
uasort($domains, function ($a, $b) use ($default)
{
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']);
}
});
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'));
preferences:
35.47 ms | 402 KiB | 5 Q