usort($optionsArray, function($a, $b) {
if ($aL[0] == $bL[0]){
$dateTimeA = new DateTime();
$dateTimeA->setTimeZone(new DateTimeZone($a));
$dateTimeAH = $dateTimeA->format('H:i');
$dateTimeB = new DateTime();
$dateTimeB->setTimeZone(new DateTimeZone($b));
$dateTimeBH = $dateTimeA->format('H:i');
return ($dateTimeA < $dateTimeB) ? -1 : 1;
}
return ($aL[0] < $bL[0]) ? -1 : 1;
});
/**
Current output
Africa/Abidjan (03:49)
Africa/Mbabane (05:49)
Africa/Kinshasa (04:49)
Africa/Lagos (04:49)
Africa/Libreville (04:49)
Africa/Lome (03:49)
Africa/Luanda (04:49)
Africa/Lubumbashi (05:49)
Africa/Lusaka (05:49)
America/Montevideo (00:49)
America/Nome (19:49)
America/Montserrat (23:49)
America/Monterrey (22:49)
America/Nassau (23:49)
America/New_York (23:49)
America/Nipigon (23:49)
America/Ojinaga (21:49)
America/Noronha (01:49)
**/