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