Ôn tập: tổng hợp về hàm
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 9 trên 68.
Thử thách
DễTạo một hệ thống xử lý văn bản kết hợp nhiều khái niệm về hàm (function) mà bạn đã học. Bạn cần triển khai một số hàm và kết hợp chúng để xử lý dữ liệu văn bản.
Trước tiên, tạo một hàm ẩn danh được lưu trong biến có tên $reverseText. Hàm này nhận một chuỗi và trả về chuỗi đó theo thứ tự đảo ngược.
Tiếp theo, tạo một hàm thông thường có tên countVowels. Hàm này nhận một chuỗi và trả về số nguyên âm (a, e, i, o, u, không phân biệt chữ hoa chữ thường) trong chuỗi đó.
Sau đó, tạo một hàm có tên processText nhận ba tham số: một chuỗi văn bản, tên thao tác và một hàm callback. Hàm này cần:
- Nếu thao tác là
"reverse", áp dụng callback để đảo ngược văn bản rồi trả về kết quả - Nếu thao tác là
"vowels", áp dụng callback để đếm số nguyên âm rồi trả về số lượng - Nếu thao tác là
"length", trả về độ dài của văn bản
Bạn sẽ nhận được hai đầu vào: tên thao tác ("reverse", "vowels" hoặc "length") và văn bản cần xử lý. Đọc cả hai đầu vào, xác định hàm cần dùng dựa trên thao tác, gọi processText với các tham số phù hợp và in ra kết quả.
Định dạng đầu vào: Hai dòng. Dòng đầu tiên chứa tên thao tác, dòng thứ hai chứa văn bản cần xử lý
Đầu ra mong đợi: Kết quả dựa trên thao tác: văn bản đảo ngược với "reverse", số lượng nguyên âm với "vowels" hoặc độ dài văn bản với "length"
Tự làm thử
<?php
// Đọc đầu vào
$operation = trim(fgets(STDIN));
$text = trim(fgets(STDIN));
// TODO: Viết code bên dưới
// Tạo hàm ẩn danh $reverseText
// Tạo hàm countVowels
// Tạo hàm processText
// Gọi processText với các tham số phù hợp theo thao tác
// In kết quả ra
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