Menu
Coddy logo textTech

Geri Sayım Görüntüleme

Coddy'nin PHP Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 64 / 68.

challenge icon

Görev

Kolay

Üç girdi alacaksınız: bir etkinlik dizisini temsil eden bir JSON dizesi, bugünün tarihini YYYY-AA-GG biçiminde temsil eden bir tarih dizesi ve geri sayımın görüntüleneceği etkinliğin adı.

İlk girdi şu biçimde bir JSON dizesi olacaktır: [{"name":"Team Meeting","date":"2024-04-15","location":"Office"},{"name":"Conference","date":"2024-05-20","location":"Convention Center"}]

İkinci girdi şu biçimde bir tarih dizesi olacaktır: 2024-04-01

Üçüncü girdi şu biçimde bir etkinlik adı olacaktır: Team Meeting

Üç girdinin tümünü okuyun ve JSON dizesini bir etkinlikler dizisine dönüştürün. Sağlanan etkinlik adıyla eşleşen etkinliği bulun. Hem bugünün tarihi hem de etkinliğin tarihi için DateTime nesneleri oluşturun.

Etkinlik tarihi ile bugünün tarihi arasındaki farkı hesaplayın. Bugünün diff() nesnesi üzerinde DateTime yöntemini kullanın ve parametre olarak etkinliğin DateTime nesnesini geçirin. Bu işlem bir DateInterval nesnesi döndürür. İki tarih arasındaki gün sayısını almak için bu nesnenin days özelliğine erişin.

Geri sayımı aşağıdaki biçimde yazdırın:

Countdown to [event name]: [number of days] days

Etkinlik dizide bulunamazsa şunu yazdırın: Event not found

Girdi biçimi:

  • İlk satır: name, date ve location anahtarlarına sahip etkinlikler dizisini temsil eden bir JSON dizesi
  • İkinci satır: Bugünün tarihini temsil eden YYYY-AA-GG biçiminde bir tarih dizesi (örnek: 2024-04-01)
  • Üçüncü satır: Geri sayımın görüntüleneceği etkinliğin adı (örnek: Team Meeting)

Beklenen çıktı: Geri sayımı şu biçimde gösteren tek bir satır: Countdown to [event name]: [number of days] days veya etkinlik mevcut değilse Event not found

Kendin dene

<?php
// Girdileri oku
$jsonString = trim(fgets(STDIN));
$todayDate = trim(fgets(STDIN));
$eventName = trim(fgets(STDIN));

// JSON dizesini etkinlikler dizisine dönüştür
$events = (array)json_decode($jsonString, true);

// YAPILACAK: Kodunuzu aşağıya yazın
// Sağlanan etkinlik adıyla eşleşen etkinliği bulun
// Bugünün tarihi ve etkinliğin tarihi için DateTime nesneleri oluşturun
// diff() yöntemini kullanarak farkı hesaplayın
// DateInterval nesnesinden days özelliğine erişin

// Sonucu yazdır
echo $result;
?>

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online PHP derleyicisi