Ôn tập: bài tập về danh sách phát
Thuộc phần Logic và luồng chương trình trong hành trình PHP của Coddy. Bài học 19 trên 68.
Thử thách
DễBạn sẽ nhận bốn đầu vào: một mảng danh sách phát ban đầu ở định dạng JSON, một bài hát cần thêm vào cuối, một bài hát cần thêm vào đầu và tên một bài hát cần tìm. Hãy đọc cả bốn đầu vào, chuyển chuỗi JSON thành một mảng, thêm bài hát thứ hai vào cuối bằng array_push(), thêm bài hát thứ ba vào đầu bằng array_unshift(), sau đó dùng array_search() để tìm vị trí của bài hát thứ tư trong danh sách phát đã sửa đổi. In ra vị trí nếu tìm thấy, hoặc in ra "Song not found" nếu bài hát không có trong danh sách phát.
Định dạng đầu vào: Bốn dòng. Dòng đầu tiên chứa một mảng JSON gồm các bài hát (ví dụ: ["Song A","Song B","Song C"]), dòng thứ hai chứa tên bài hát cần thêm vào cuối, dòng thứ ba chứa tên bài hát cần thêm vào đầu, dòng thứ tư chứa tên bài hát cần tìm.
Đầu ra dự kiến: Vị trí chỉ số dạng số của bài hát cần tìm (bắt đầu từ 0) trong danh sách phát đã sửa đổi, hoặc dòng chữ "Song not found" nếu bài hát không tồn tại.
Tự làm thử
<?php
// Đọc cả bốn đầu vào
$playlistJson = trim(fgets(STDIN));
$songToAddEnd = trim(fgets(STDIN));
$songToAddBeginning = trim(fgets(STDIN));
$songToSearch = trim(fgets(STDIN));
// Chuyển chuỗi JSON thành mảng
$playlist = (array)json_decode($playlistJson, true);
// TODO: Viết code bên dưới
// 1. Thêm $songToAddEnd vào cuối playlist bằng array_push()
// 2. Thêm $songToAddBeginning vào đầu playlist bằng array_unshift()
// 3. Tìm $songToSearch trong playlist sau khi chỉnh sửa bằng array_search()
// 4. Lưu kết quả và in ra vị trí hoặc "Song not found"
// In ra kết quả
echo $result;
?>Tất cả bài học trong Logic và luồng chương trình
1Hàm nâng cao
Hàm ẩn danhClosure và 'use'Hàm mũi tênHàm callbackDùng 'call_user_func'Hàm biếnTruyền tham chiếuHàm đệ quyÔn tập: tổng hợp về hàm4Mảng đa chiều
Tạo mảng 2 chiềuTruy cập phần tử trong mảng 2 chiềuChỉnh sửa phần tử trong mảng 2 chiềuLặp qua các vòng lặp lồng nhauMảng kết hợp 2 chiềuÔn tập: bài tập lưới đơn giản2Thao tác nâng cao với mảng
Thêm phần tử bằng 'array_push'Xóa phần tử bằng 'array_pop'Thêm phần tử vào đầu mảng bằng 'array_unshift'Xóa phần tử đầu mảng bằng 'array_shift'Gộp các mảng được đánh chỉ sốGộp các mảng kết hợpTrích xuất phần tử bằng 'array_slice'Kiểm tra giá trị bằng 'in_array'Tìm khóa bằng 'array_search'Ôn tập: bài tập về danh sách phát3Sắp xếp mảng
Sắp xếp mảng có chỉ số tăng dầnSắp xếp mảng có chỉ số giảm dầnSắp xếp mảng kết hợp theo giá trịSắp xếp mảng kết hợp theo khóaSắp xếp theo thứ tự tự nhiênSắp xếp tùy chỉnh bằng 'usort'Ôn tập: Sắp xếp bảng xếp hạngTự luyện tập: Trình biên dịch PHP online