PHP - sonraki kullanılabilir zaman yuvayı bulun

1 Cevap php

Ben sonraki zaman dilimini bulmak için bir komut dosyası yazma yardım arıyorum.

Ör: Kişi bir randevu ve kullanılabilir zaman yuvaları günlük isimli 09:00, 12:00, 04:00, 06:00, 21:00 istiyor

Yani, mevcut verileri kontrol ve diğer atamalar için rezervasyonu zaman dilimleri karşılaştırmak ve ardından kullanılabilir sonraki bulmalıyız.

$apts = array(
        'Person 1' => '1/1/09-9:00',
        'Person 2' => '1/1/09-12:00',
        'Person 3' => '1/1/09-18:00',
        'Person 4' => '1/1/09-21:00'
        );

Yani, $ apts karşı Person A sonraki zaman diliminin bulmalıyız ve 16:00 (: 00 1/1/09-16) ile gelmelidir. Sonra Kişi Yatak birlikte geliyor ve onu / onun için sonraki zaman dilimi '1 / 2/09-9 olmalıdır: yok daha fazla zaman 1/1/09 üzerinde yuva, bu yüzden ertesi gün 09:00 gitmek beri, 00 '.

Make since? Thanks!!

1 Cevap

Bir veritabanı semantik konuşan en iyi çözüm olacaktır. Eğer time (gerçi diğer biçimlere kolaylıkla uyarlanabilir), UNIX zaman olarak kodlanmış sütun time ve person_id ile bir tablo kullanmak istiyorsanız, belki sadece çalıştırmak istiyorum:

SELECT time FROM table WHERE person_id = 0 AND time > 1234567890 LIMIT 1;

Orijinal PHP tek çözüm tutulması, bir semantik mantıklı çözüm sadece sonraki zaman dilimine aramak için bir süre döngü çalıştırmak için olabilir.

$timeslot = $desired_timeslot;
while(in_array($timeslot, $apts)) {
    $timeslot = get_next_timeslot($timeslot);
}
return $timeslot;

Tabii ki, get_next_timeslot() yöntemini organize / sizin kodlama uygun fonksiyon tanımlamak gerekir.