Menu
CoddyTech

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ị.

challenge icon

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:

  1. In giá trị của $counter++ (tăng sau)
  2. In giá trị hiện tại của $counter
  3. In giá trị của ++$counter (tăng trước)
  4. Giảm $counter bằng cách dùng -- (không cần in)
  5. 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
11

Giải thích:

  • Tăng sau in ra 10, rồi $counter trở thành 11
  • Giá trị hiện tại là 11
  • Tăng trước khiến $counter trở thành 12, rồi in ra 12
  • Giảm khiến $counter trở 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

?>
quiz iconTự kiểm tra

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

Tự luyện tập: Trình biên dịch PHP online