Toán tử ba ngôi trong PHP

Giả sử chúng ta có đoạn mã sau để kiểm tra xem người dùng đã đủ 18 tuổi hay chưa:

php<?php
  $age = 17;
  
  if ($age >= 18) {
    $adult = true;
  } else {
    $adult = false;
  }
  
  var_dump($adult);
?>

Như bạn thấy, cấu trúc if-else chỉ cần thiết để gán một giá trị nhất định vào biến $adult. Đối với những tác vụ như vậy, khi điều kiện của chúng ta chỉ gán giá trị cho một biến, tồn tại một giải pháp ngắn gọn hơn thông qua cái gọi là toán tử ba ngôi.

Cú pháp của nó như sau:

php<?php
  variable = condition ? value1 : value2;
?>

Toán tử hoạt động như sau: nếu điều kiện đúng, thì value1 được trả về, trong trường hợp ngược lại - value2. Hãy viết lại đoạn mã ở đầu bài học bằng cách sử dụng toán tử ba ngôi:

php<?php
  $age = 17;
  $adult = $age >= 18 ? true: false;
  var_dump($adult);
?>

Nhân tiện, bạn có thể không gán kết quả vào biến mà in ra ngay lập tức bằng var_dump:

php<?php
  $age = 17;
  var_dump( $age >= 18 ? true: false );
?>

Toán tử ba ngôi chỉ nên được sử dụng trong những trường hợp đơn giản nhất, vì việc sử dụng nó làm khó hiểu mã nguồn.

Задание 1

Cho một biến $num, biến này có thể là số âm hoặc số dương. Hãy gán vào biến $res số 1 nếu biến $num lớn hơn hoặc bằng không, và số -1 nếu biến $num nhỏ hơn không.