<?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