Aşağıdaki kod can. Eğer öyleyse, o aşağıdakilere: görebileceğiniz gibi, sıralama sonra (çoğul, $ kaydırmalar) her yeni diziye elde edilen ofset $ itmek gerekir ve
$offsets = Array();
$countries = array ('Europe/Rome', 'Europe/Athens', 'America/Tijuana', 'Canada/Atlantic', 'Europe/Amsterdam');
foreach ($countries as $country_offset) {
$offset = timezone_offset_get(new DateTimeZone($country_offset), new DateTime());
array_push($offsets, $offset);
}
asort($offsets);
foreach($offsets as $offset) {
echo $offset . "<br />";
}
.
foreach ($countries as $country => $country_offset)
yanında
, sizin inşaat bir noktaya eksik: Burada $ ülke Kodunuzun geri kalanında kullanmayın $ ülkeler dizinin sayısal endeksi olacaktır. O zaman unutun ve sadece elemanlarla çalışın.
Umutlar size yardımcı olur!
OBS:
asort($offsets);
$keys = array_keys($offsets);
foreach($keys as $key) {
echo $offsets[$key] . $key . "<br />";
}
Fonksiyon asort tuşları korur, sen bölgelerin isimlerini istiyorsanız
asort($offsets);
$keys = array_keys($offsets);
foreach($keys as $key) {
echo $offsets[$key] . " - " . $countries[$key] . "<br />";
}
yapabilir böylece: istediğin gibi, yapabileceğin, anahtarını eklemek için Neden foreach içinde sıralamanız gerekiyor? Neden onu dışarıda sıralamıyorsun? –
sort _how_? ne denedin – Federkun
@EddeAlmeida, verileri "döngü" veya "foreach" kullanmadan önce sıralamanız gerektiğini söyledi. Dünyanızı (ve yürütme sürelerini) çok daha basit hale getirecek. –