Thêm sự kiện mới
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 60 trên 68.
Thử thách
DễBạn sẽ nhận hai đầu vào: một chuỗi JSON biểu diễn mảng sự kiện hiện có từ bài học trước, và ba giá trị trên dòng thứ hai, cách nhau bằng dấu cách, biểu diễn tên, ngày và địa điểm của một sự kiện mới.
Đầu vào thứ nhất là một chuỗi JSON theo định dạng này: [{"name":"Team Meeting","date":"2024-04-15","location":"Office"},{"name":"Conference","date":"2024-05-20","location":"Convention Center"}]
Đầu vào thứ hai gồm ba giá trị cách nhau bằng dấu cách theo định dạng này: Workshop 2024-06-10 Library
Đọc cả hai đầu vào. Giải mã chuỗi JSON thành một mảng sự kiện. Sau đó, phân tích đầu vào thứ hai để lấy tên, ngày và địa điểm của sự kiện. Tạo một mảng kết hợp mới cho sự kiện này với các khóa "name", "date" và "location", rồi thêm mảng đó vào mảng sự kiện bằng array_push().
Sau khi thêm sự kiện mới, lặp qua tất cả sự kiện trong mảng và in từng sự kiện theo định dạng sau:
Event: [name] on [date] at [location]
In mỗi sự kiện trên một dòng riêng, theo thứ tự xuất hiện trong mảng.
Định dạng đầu vào:
- Dòng thứ nhất: Một chuỗi JSON biểu diễn mảng sự kiện hiện có
- Dòng thứ hai: Ba giá trị cách nhau bằng dấu cách, biểu diễn tên, ngày và địa điểm của sự kiện mới (ví dụ:
Workshop 2024-06-10 Library)
Đầu ra mong đợi: In mỗi sự kiện, bao gồm cả sự kiện mới được thêm, trên một dòng riêng theo định dạng: Event: [name] on [date] at [location]
Tự làm thử
<?php
// Đọc chuỗi JSON từ đầu vào thứ nhất
$jsonInput = trim(fgets(STDIN));
// Đọc thông tin chi tiết về sự kiện mới từ đầu vào thứ hai
$newEventInput = trim(fgets(STDIN));
// Giải mã chuỗi JSON thành một mảng
$events = (array)json_decode($jsonInput, true);
// Phân tích thông tin chi tiết về sự kiện mới (tên, ngày, địa điểm)
list($name, $date, $location) = explode(' ', $newEventInput);
// TODO: Viết code của bạn bên dưới
// Tạo mảng cho sự kiện mới và thêm vào mảng events bằng array_push()
// Sau đó, duyệt qua tất cả sự kiện và in ra theo định dạng yêu cầu
?>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ạng6Các hàm mảng bậc cao
Biến đổi bằng 'array_map''array_map' với hàm tùy chỉnhLọc bằng 'array_filter''array_filter' với hàm tùy chỉnhRút gọn bằng 'array_reduce'Duyệt bằng 'array_walk'Ôn tập: xử lý dữ liệu9Bộ lập lịch sự kiện
Dữ liệu sự kiệnThêm sự kiện mớiTự luyện tập: Trình biên dịch PHP online