Tăng/giảm
Thuộc phần Kiến thức cơ bản trong hành trình PHP của Coddy. Bài học 19 trên 71.
Khi cần cộng hoặc trừ đúng 1 cho một biến, PHP cung cấp cách viết còn ngắn gọn hơn phép gán kết hợp: toán tử tăng và giảm.
Toán tử tăng (++) cộng thêm 1 vào một biến, còn toán tử giảm (--) trừ đi 1:
<?php
$count = 5;
$count++; // $count giờ là 6
$count--; // $count giờ lại là 5
?>Các toán tử này có thể đặt trước hoặc sau biến, điều này ảnh hưởng đến thời điểm thay đổi xảy ra:
<?php
$a = 5;
echo $a++; // In ra: 5, sau đó $a thành 6
echo $a; // In ra: 6
$b = 5;
echo ++$b; // $b thành 6, sau đó in ra: 6
?>Với $a++ (tăng sau), giá trị ban đầu được dùng trước, sau đó mới tăng. Với ++$b (tăng trước), giá trị được tăng trước, sau đó mới dùng. Quy tắc tương tự áp dụng cho -- để giảm giá trị.
Thử thách
DễĐọc một số từ đầu vào và lưu số đó vào một biến có tên $counter.
Thực hiện các thao tác sau theo thứ tự, in kết quả của mỗi câu lệnh echo trên một dòng mới:
- In giá trị của
$counter++(tăng sau) - In giá trị hiện tại của
$counter - In giá trị của
++$counter(tăng trước) - Giảm
$counterbằng cách dùng--(không cần in) - In giá trị cuối cùng của
$counter
Ví dụ:
Nếu đầu vào là 10, đầu ra sẽ là:
10
11
12
11Giải thích:
- Tăng sau in ra 10, rồi
$countertrở thành 11 - Giá trị hiện tại là 11
- Tăng trước khiến
$countertrở thành 12, rồi in ra 12 - Giảm khiến
$countertrở thành 11 - Giá trị cuối cùng là 11
Tự làm thử
<?php
// Đọc đầu vào
$counter = intval(fgets(STDIN));
// TODO: Viết code bên dưới
// 1. In ra giá trị của $counter++ (tăng sau)
// 2. In ra giá trị hiện tại của $counter
// 3. In ra giá trị của ++$counter (tăng trước)
// 4. Giảm $counter bằng -- (không cần in ra)
// 5. In ra giá trị cuối cùng của $counter
?>Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
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