10/10/2018, 10:44

Câu lệnh này nghĩa là gì?

$start = ($start < 0) ? 0 : $start;
Ai giúp mình với.
Dấu hỏi nghĩa là gì và dấu : nghĩa là gì?
Xin cảm ơn
Trịnh Ngọc Lan viết 12:57 ngày 10/10/2018
start sẽ là số dương hoặc là bằng 0
Nó tương tự như
Code:
if($start < 0)
{
	$start = 0;
}
thuyduongcd viết 12:53 ngày 10/10/2018
Syntax:
Code:
condition ? value_1 : value_2
Nghĩa: Kiểm tra điều kiện (condition) nếu true thì trả về value_1, false thì trả về value_2
votricong viết 12:45 ngày 10/10/2018
vậy là nó giống với lệnh if phải không các bạn ? Sao ko thay thế cái này trong lệnh IF ?
Hanaziki viết 12:50 ngày 10/10/2018
dùng như vậy cho nó gọn. Thường áp dụng cho những dòng lệnh một dòng.
maicon viết 12:55 ngày 10/10/2018
Trong trường hợp $start=$start thì đúng là xài if cho rồi.

Nhưng có một số trường hợp khác khi phải viết if else thì xài kiểu này cho
nó gọn.

Code:
$start = ($start < 0) ? 0 : $something;
Thay vì viết if else
Code:
if($start < 0)
{
	$start = 0;
}
else
{
	$start = $something;
}
quá dài ...
freshgraduate09 viết 13:01 ngày 10/10/2018
Được gửi bởi maicon
Trong trường hợp $start=$start thì đúng là xài if cho rồi.

Nhưng có một số trường hợp khác khi phải viết if else thì xài kiểu này cho
nó gọn.

Code:
$start = ($start < 0) ? 0 : $something;
Thay vì viết if else
Code:
if($start < 0)
{
	$start = 0;
}
else
{
	$start = $something;
}
quá dài ...
ai bảo thêm dấu {} chi cho nó dài, có 1 lệnh trong mỗi if...else à
jdkhang viết 13:00 ngày 10/10/2018
Được gửi bởi freshgraduate09
ai bảo thêm dấu {} chi cho nó dài, có 1 lệnh trong mỗi if...else à
Bạn ấy cố ý viết đầy đủ cho thấy cái sự dài ý mà
snoob viết 12:46 ngày 10/10/2018
Cái bác hỏi là Ternary Operator còn cái kia là Control Structures.
Đọc php manual đi là khỏi bàn cãi nhiều
Bài liên quan
0