Ôn tập: Lặp qua dữ liệu
Thuộc phần Kiến thức cơ bản trong hành trình PHP của Coddy. Bài học 53 trên 71.
Thử thách
DễĐọc ba dòng đầu vào:
- Danh sách số nguyên được phân tách bằng dấu phẩy (ví dụ:
12,5,8,20,3,15,7) - Giá trị ngưỡng tối thiểu
- Giá trị ngưỡng tối đa
Xử lý mảng để tìm tổng tất cả các số nằm trong phạm vi (bao gồm cả giá trị tối thiểu và tối đa). Trước tiên, hãy kiểm tra xem một số có đúng bằng hai lần ngưỡng tối đa hay không. Nếu có, hãy dừng ngay bằng break. Nếu không, hãy dùng continue để bỏ qua các số nằm ngoài phạm vi.
Dòng đầu tiên được đọc bằng explode, vì vậy $numbers chứa các chuỗi, còn $min và $max là số nguyên. Hãy chuyển từng phần tử bằng intval() (hoặc ép kiểu (int)) trước khi so sánh với các ngưỡng hoặc cộng vào tổng.
In ra hai dòng:
- Tổng các số hợp lệ nằm trong phạm vi
- Số lượng các số đã được cộng vào tổng
Ví dụ 1:
Nếu đầu vào là 5,12,8,20,15,3,10, 5 và 15, đầu ra sẽ là:
50
5(5 + 12 + 8 + 15 + 10 = 50, có năm số nằm trong phạm vi từ 5 đến 15)
Ví dụ 2:
Nếu đầu vào là 2,8,12,20,6,14, 5 và 10, đầu ra sẽ là:
8
1(Quá trình xử lý dừng ở 20 vì số này gấp đôi giá trị tối đa là 10. Trước thời điểm đó, chỉ có 8 được cộng vào tổng, nên tổng là 8 và số lượng là 1)
Ví dụ 3:
Nếu đầu vào là 1,2,3,4,5, 10 và 20, đầu ra sẽ là:
0
0(Không có số nào nằm trong phạm vi từ 10 đến 20)
Tự làm thử
// TODO: Viết code của bạn ở đây
// Lặp qua mảng (array) numbers
// Dùng 'continue' để bỏ qua các số nằm ngoài phạm vi từ min đến max, tính cả hai đầu
// Dùng 'break' nếu gặp số đúng bằng hai lần ngưỡng tối đa
// Theo dõi tổng và số lượng các số hợp lệ
// In ra kết quả
Tất cả bài học trong Kiến thức cơ bản
4Toán tử so sánh và logic
Toán tử so sánhBằng nhau và đồng nhấtToán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giản2Biến và kiểu dữ liệu
SốChuỗi và dấu ngoặc képGiá trị BooleanQuy ước đặt tênÔn tập: khởi tạo biếnBiến rỗngNối chuỗiNhận đầu vào từ người dùngChuyển đổi sang kiểu dữ liệu khác5Logic điều kiện
Câu lệnh ifIf và elseToán tử ba ngôiToán tử kết hợp nullCâu lệnh switchÔn tập: đưa ra quyết định8Vòng lặp
Vòng lặp forVòng lặp whileVòng lặp foreachLặp qua khóa và giá trịCâu lệnh breakCâu lệnh continueÔn tập: Lặp qua dữ liệu3Các toán tử cơ bản
Toán tử số họcToán tử chia lấy dưToán tử lũy thừaPhép gán kết hợpTăng/giảmThứ tự ưu tiên của toán tửÔn tập: phép tính đơn giảnToán tử chuỗiTự luyện tập: Trình biên dịch PHP online