Yeni Etkinlik Ekleme
Coddy'nin PHP Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 60 / 68.
Görev
Kolayİki girdi alacaksınız: önceki dersten mevcut etkinlikler dizisini temsil eden bir JSON dizesi ve ikinci satırda yeni bir etkinliğin adını, tarihini ve konumunu temsil eden boşluklarla ayrılmış üç değer.
İlk girdi şu formatta 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 formatta boşlukla ayrılmış üç değer olacaktır: Workshop 2024-06-10 Library
Her iki girdiyi de okuyun. JSON dizesini bir etkinlikler dizisine dönüştürün. Ardından, etkinlik adını, tarihini ve konumunu çıkarmak için ikinci girdiyi ayrıştırın. Bu etkinlik için "name", "date" ve "location" anahtarlarına sahip yeni bir ilişkisel dizi oluşturun ve bunu array_push() kullanarak etkinlikler dizisine ekleyin.
Yeni etkinliği ekledikten sonra, dizideki tüm etkinliklerin üzerinden geçin ve her birini aşağıdaki formatta yazdırın:
Event: [name] on [date] at [location]
Her etkinliği, dizide göründükleri sırayla ayrı bir satıra yazdırın.
Girdi formatı:
- İlk satır: Mevcut etkinlikler dizisini temsil eden bir JSON dizesi
- İkinci satır: Yeni etkinliğin adını, tarihini ve konumunu temsil eden boşlukla ayrılmış üç değer (örnek:
Workshop 2024-06-10 Library)
Beklenen çıktı: Her etkinlik (yeni eklenen dahil), şu formatta ayrı bir satıra yazdırılır: Event: [name] on [date] at [location]
Kendin dene
<?php
// İlk girdiden JSON dizesini oku
$jsonInput = trim(fgets(STDIN));
// İkinci girdiden yeni etkinlik ayrıntılarını oku
$newEventInput = trim(fgets(STDIN));
// JSON dizesini bir diziye dönüştür
$events = (array)json_decode($jsonInput, true);
// Yeni etkinlik ayrıntılarını ayrıştır (ad, tarih, konum)
list($name, $date, $location) = explode(' ', $newEventInput);
// YAPILACAK: Kodunuzu aşağıya yazın
// Yeni bir etkinlik dizisi oluşturun ve array_push() kullanarak bunu etkinlikler dizisine ekleyin
// Ardından tüm etkinlikler arasında gezinin ve bunları istenen formatta yazdırın
?>Mantık ve Akış bölümündeki tüm dersler
1İleri Seviye Fonksiyonlar
Anonim FonksiyonlarClosure'lar ve 'use'Ok Fonksiyonları (Arrow Functions)Geri Çağırma (Callback) Fonksiyonları'call_user_func' KullanımıDeğişken FonksiyonlarReferans ile Değer AktarımıÖz Yinelemeli (Recursive) FonksiyonlarÖzet: Fonksiyon Karması4Çok Boyutlu Diziler
2 Boyutlu Dizi Oluşturma2 Boyutlu Dizi Elemanlarına Erişme2 Boyutlu Dizi Elemanlarını Değiştirmeİç İçe Döngülerle Yineleme2 Boyutlu İlişkisel DizilerÖzet: Basit Izgara Egzersizi2İleri Düzey Dizi İşlemleri
'array_push' ile Ekleme'array_pop' ile Silme'array_unshift' ile Ekleme'array_shift' ile Silmeİndisli Dizileri Birleştirmeİlişkisel Dizileri Birleştirme'array_slice' ile Kesit Alma'in_array' ile Değer Kontrolü'array_search' ile Anahtar AramaÖzet: Çalma Listesi Alıştırması3Dizileri Sıralama
İndisli Dizileri Artan Sırada Sıralamaİndisli Dizileri Azalan Sırada Sıralamaİlişkisel Dizileri Değere Göre Sıralamaİlişkisel Dizileri Anahtara Göre SıralamaDoğal Sıralama (Natural Order)'usort' ile Özel SıralamaÖzet: Liderlik Tablosu Sıralama6Yüksek Mertebeden Dizi Fonksiyonları
'array_map' ile DönüştürmeÖzel Fonksiyon ile 'array_map''array_filter' ile FiltrelemeÖzel Fonksiyon ile 'array_filter''array_reduce' ile İndirgeme'array_walk' ile GezinmeÖzet: Veri İşleme9Etkinlik Planlayıcı
Etkinlik VerisiYeni Etkinlik Ekleme