บทนำ
เกือบทุกอย่างในสคริปต์ PHP เป็นนิพจน์ (expression) สิ่งใดที่มีค่าเป็นนิพจน์ ในคำสั่งกำหนดค่าปกติ ($x=100) ค่าคงที่ ฟังก์ชัน หรือตัวถูกดำเนินการที่ประมวลผลโดยตัวดำเนินการ คือนิพจน์ อะไรก็ตามที่ปรากฏทางขวาของตัวดำเนินการกำหนดค่า (=)
รูปแบบไวยากรณ์
$x=100; //100 เป็นนิพจน์ $a=$b+$c; //$b+$c เป็นนิพจน์ $c=add($a,$b); //add($a,$b) เป็นนิพจน์ $val=sqrt(100); //sqrt(100) เป็นนิพจน์ $var=$x!=$y; //$x!=$y เป็นนิพจน์
นิพจน์กับตัวดำเนินการ ++ และ --
ตัวดำเนินการเหล่านี้เรียกว่า increment และ decrement operators ตามลำดับ เป็น unary operators ต้องการตัวถูกดำเนินการเพียงตัวเดียว และใช้ได้ในรูปแบบ prefix หรือ postfix แม้จะมีผลต่างต่อค่าของนิพจน์
ทั้ง prefix และ postfix ++ operators เพิ่มค่าตัวถูกดำเนินการขึ้น 1 (สำหรับ -- operator ลดลง 1) อย่างไรก็ตาม เมื่อใช้ในนิพจน์กำหนดค่า prefix ทำการเพิ่ม/ลดก่อนแล้วค่อยกำหนดค่า ในกรณี postfix การกำหนดค่าทำก่อนการเพิ่ม/ลด
ใช้ postfix ++ operator:
ตัวอย่าง
<?php $x=10; $y=$x++; //เทียบเท่า $y=$x ตามด้วย $x=$x+1 echo "x = $x y = $y"; ?>
ผลลัพธ์
x = 11 y = 10
ในขณะที่ตัวอย่างต่อไปนี้ใช้ prefix increment operator ในการกำหนดค่า:
ตัวอย่าง
<?php $x=10; $y=++$x;; //เทียบเท่า $x=$x+1 ตามด้วย $y=$x echo "x = $x y = $y"; ?>
ผลลัพธ์
x = 11 y = 11
นิพจน์กับตัวดำเนินการเงื่อนไข ternary
Ternary operator มีตัวถูกดำเนินการ 3 ตัว ตัวแรกเป็นนิพจน์ตรรกะ หากเป็น TRUE นิพจน์ตัวที่สองจะถูกประเมิน มิฉะนั้นตัวที่สามจะถูกประเมิน
ตัวอย่าง
<?php $marks=60; $result= $marks<50 ? "fail" : "pass"; echo $result; ?>
ผลลัพธ์
pass