PHP Dersleri

PHP ile Saat Aralığı Dizisi Oluşturma

Hazırlamış olduğunuz uygulamalar için saat ve dakikadan oluşan bir liste yapmak istediğinizde biraz yorucu kod bloğu yazmanız gerekebilir. Bu eğitimde saat aralığını dizi olarak nasıl elde edebileceğinizden bahsedeceğim.

PHP ile saat aralığı dizisi oluşturmak için bir fonksiyon oluşturacağız. Bu fonksiyon’a gönderilen parametreler ile de başlangıç, bitiş ve saat formatını belirterek girilen değerler doğrultusunda saat aralığı elde etmiş olacağız.

Saat aralığını listelemek için aşağıda yer alan saatAraligi() fonksiyonunu kullanacağız. Bu fonksiyon dört adet parametre almaktadır.

  • $baslangic Üretilecek saat değerinin başlama noktası belirlenir.
  • $bitis Üretilecek saat değerinin bitiş noktası belirlenir.
  • $aralik Üretilen saat aralığı belirlenir. Kaçar kaçar atacağı yani.
  • $format bu parametrede 12 mi yoksa 24 saatlik bir dilim mi olacağı belirlenir.
<?php
function saatAraligi($baslangic, $bitis, $aralik = '30 mins', $format = '24'){
    $baslangicZamani    = strtotime($baslangic); 
    $bitisZamani        = strtotime($bitis);
    $zamanFormati       = ($format == '12') ? 'g:i:s A':'G:i:s';
    $simdikiZaman       = time(); 
    $sureEkle           = strtotime('+'.$aralik, $simdikiZaman); 
    $fark               = $sureEkle - $simdikiZaman;
    $dizi               = array(); 
    while ($baslangicZamani < $bitisZamani){ 
        $dizi[] = date($zamanFormati, $baslangicZamani); 
        $baslangicZamani += $fark; 
    } 
    $dizi[]     = date($zamanFormati, $baslangicZamani); 
    return $dizi; 
}
?>

Bu fonksiyonla birlikte belirlenen değerler doğrultusunda saat aralığı üretilecektir. Fonksiyona değerlerin gönderilmesiyle birlikte dizi olarak çıktı alınacaktır.

$uret = saatAraligi('6:00', '10:00', '30 mins');
print_r($uret);

Örnek olarak 6.00 ile 10.00 arasındaki zaman değerlerini 30 dakika atlayarak çıktı almak için kullanabilirsiniz. Yukarıdaki gibi kullanıldığında aşağıdaki gibi sonuç elde edilecektir.

Array
(
    [0] => 6:00:00
    [1] => 6:30:00
    [2] => 7:00:00
    [3] => 7:30:00
    [4] => 8:00:00
    [5] => 8:30:00
    [6] => 9:00:00
    [7] => 9:30:00
    [8] => 10:00:00
)

Bu şekilde fonksiyon yardımıyla çıktılar alabilirsiniz. Elde ettiğiniz çıktıyı da çok kolay bir şekilde form üzerinden kullanılması için işlevsel bir hale getirebilirsiniz.

<select name="time_picker">
    <option value="">Saat Seçiniz</option>
    <?php foreach($uret as $anahtar=>$deger){ ?>
    <option value="<?php echo $deger; ?>"><?php echo $deger; ?></option>
    <?php } ?>
</select>

Elde edilen dizi değeri de foreach döngüsünü kullanarak HTML etiketlerine entegre edebilirsiniz.

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir