Giới thiệu
Gần như mọi thứ trong script PHP đều là biểu thức (expression). Bất cứ thứ gì có giá trị là một biểu thức. Trong câu gán điển hình ($x = 100), một giá trị literal, một function, hoặc các toán hạng được xử lý bởi toán tử là biểu thức, tức là bất cứ thứ gì xuất hiện ở bên phải toán tử gán =.
Cú pháp
$x = 100; // 100 là biểu thức $a = $b + $c; // $b+$c là biểu thức $c = add($a,$b); // add($a,$b) là biểu thức $val = sqrt(100); // sqrt(100) là biểu thức $var = $x != $y; // $x!=$y là biểu thức
Biểu thức với ++ và --
Đây là toán tử tăng/giảm. Chúng là unary operators, dùng dạng prefix hoặc postfix, tuy có tác động khác nhau lên giá trị biểu thức.
Cả prefix và postfix ++ đều tăng giá trị toán hạng lên 1 (-- giảm 1). Tuy nhiên, khi dùng trong biểu thức gán: prefix tăng/giảm trước rồi gán; postfix gán trước rồi tăng/giảm.
Dùng postfix ++
<?php $x = 10; $y = $x++; // tương đương $y=$x rồi $x=$x+1 echo "x = $x y = $y"; ?>
Kết quả
x = 11 y = 10
Dùng prefix ++
<?php $x = 10; $y = ++$x; // tương đương $x=$x+1 rồi $y=$x echo "x = $x y = $y"; ?>
Kết quả
x = 11 y = 11
Biểu thức với toán tử ternary
Toán tử ternary có 3 toán hạng. Thứ nhất là biểu thức logic. Nếu TRUE, toán hạng thứ 2 được đánh giá, ngược lại toán hạng thứ 3.
Ví dụ
<?php $marks = 60; $result = $marks < 50 ? "fail" : "pass"; echo $result; ?>
Kết quả
pass