Özet: Çalma Listesi Alıştırması
Coddy'nin PHP Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 19 / 68.
Görev
KolayDört girdi alacaksınız: JSON formatında bir başlangıç çalma listesi dizisi, sona eklenecek bir şarkı, başa eklenecek bir şarkı ve aranacak bir şarkı adı. Dört girdiyi de okuyun, JSON dizesini bir diziye dönüştürün, array_push() kullanarak ikinci şarkıyı sona ekleyin, array_unshift() kullanarak üçüncü şarkıyı başa ekleyin, ardından değiştirilmiş çalma listesinde dördüncü şarkının konumunu bulmak için array_search() kullanın. Bulunursa konumu yazdırın, çalma listesinde mevcut değilse "Song not found" yazdırın.
Girdi formatı: Dört satır - ilk satır şarkıların JSON dizisini içerir (örnek: ["Song A","Song B","Song C"]), ikinci satır sona eklenecek bir şarkı adını içerir, üçüncü satır başa eklenecek bir şarkı adını içerir, dördüncü satır aranacak bir şarkı adını içerir
Beklenen çıktı: Aranan şarkının değiştirilmiş çalma listesindeki sayısal dizin konumu (0'dan başlayarak) veya şarkı mevcut değilse "Song not found" metni
Kendin dene
<?php
// Dört girdinin tamamını oku
$playlistJson = trim(fgets(STDIN));
$songToAddEnd = trim(fgets(STDIN));
$songToAddBeginning = trim(fgets(STDIN));
$songToSearch = trim(fgets(STDIN));
// JSON dizesini diziye dönüştür
$playlist = (array)json_decode($playlistJson, true);
// TODO: Kodunuzu aşağıya yazın
// 1. array_push() kullanarak $songToAddEnd öğesini çalma listesinin sonuna ekleyin
// 2. array_unshift() kullanarak $songToAddBeginning öğesini çalma listesinin başına ekleyin
// 3. array_search() kullanarak değiştirilmiş çalma listesinde $songToSearch öğesini arayın
// 4. Sonucu saklayın ve konumu ya da "Song not found" ifadesini yazdırın
// Sonucu yazdır
echo $result;
?>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ıralama