Ôn tập: logic đơn giản
Thuộc phần Kiến thức cơ bản trong hành trình PHP của Coddy. Bài học 27 trên 71.
Thử thách
DễĐọc năm giá trị từ đầu vào: một số nguyên age, một số nguyên balance, một chuỗi isStudent (là "true" hoặc "false"), một chuỗi hasPromoCode (là "true" hoặc "false") và một số nguyên itemPrice.
Chuyển các giá trị chuỗi thành giá trị boolean bằng cách so sánh chúng với "true".
Đánh giá ba điều kiện sau và in ra kết quả của từng điều kiện bằng var_dump(), mỗi kết quả trên một dòng mới:
- Kiểm tra xem người đó có đủ điều kiện nhận ưu đãi giảm giá dành cho thanh niên không: tuổi dưới 25 VÀ là sinh viên
- Kiểm tra xem người đó có đủ khả năng mua món hàng sau khi giảm giá không: balance lớn hơn hoặc bằng itemPrice HOẶC (balance ít nhất bằng một nửa itemPrice VÀ hasPromoCode là true)
- Kiểm tra xem người đó có được ưu tiên thanh toán không: (tuổi ít nhất là 65 HOẶC isStudent là true) VÀ balance lớn hơn 0 VÀ KHÔNG có hasPromoCode
Ví dụ:
Nếu đầu vào là 22, 50, true, false và 80, đầu ra sẽ là:
bool(true)
bool(false)
bool(true)Giải thích:
age < 25 && isStudent→ 22 < 25 && true → truebalance >= itemPrice || (balance >= itemPrice / 2 && hasPromoCode)→ 50 >= 80 || (50 >= 40 && false) → false || false → false(age >= 65 || isStudent) && balance > 0 && !hasPromoCode→ (false || true) && true && true → true
Tự làm thử
<?php
// Đọc các giá trị đầu vào
$age = intval(fgets(STDIN));
$balance = intval(fgets(STDIN));
$isStudentStr = trim(fgets(STDIN));
$hasPromoCodeStr = trim(fgets(STDIN));
$itemPrice = intval(fgets(STDIN));
// Chuyển các giá trị chuỗi thành giá trị boolean
$isStudent = $isStudentStr === "true";
$hasPromoCode = $hasPromoCodeStr === "true";
// TODO: Viết code của bạn bên dưới
// 1. Kiểm tra người đó có đủ điều kiện được giảm giá cho người trẻ không
// 2. Kiểm tra người đó có đủ tiền mua món hàng sau khi giảm giá không
// 3. Kiểm tra người đó có được ưu tiên thanh toán không
?>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 định3Cá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