ตัวดำเนินการและนิพจน์

หน่วยการเรียนรู้ที่ 2 เรื่อง การเขียนโปรแกรมพื้นฐาน

โอเปอเรเตอร์ (Operator)

โอเปอเรเตอร์ (Operator) คือ ตัวดําเนินการทางคณิตศาสตร์ คือ การดําเนินการทางตรรกศาสตร์ หรืออื่นๆ โอเปอเรเตอร์จะเป็นเครื่องหมาย หรือสัญลักษณ์พิเศษ เช่น +, -, *, /, &&, ||, >, <

โอเปอแรนด์ (Operand)

โอเปอแรนด์ (Operand) คือ ตัวถูกดําเนินการ ซึ่งเป็นได้ทั้ง ค่าคงที่ ตัวแปร นิพจน์ หรือ function ก็ได้

นิพจน์ (Expression)

นิพจน์ (Expression) คือการทําเอาโอเปอเรเตอร์ และโอเปอแรนด์หลายๆตัวเข้าด้วยกัน มาเป็นประโยคเดียว

ตัวดำเนินการคณิตศาสตร์ (Arithmetic operators)

เป็นตัวดำเนินการในการหาผลลัพธ์จากการกระทำทางคณิตศาสตร์ เช่น การบวก การลบ การคูณ และหารหาร โดยมีตัวเลขเป็น Operand และจะได้ผลลัพธ์สุดท้ายออกมาค่าเดียว

ใน 4 ตัวดำเนินการแรกนั้นเป็นตัวดำเนินการพื้นฐานในทางคณิตศาสตร์ แต่ในตัวดำเนินการสุดท้าย Modulo นั้นเป็นการหารแบบเอาเศษ

ต่อไปเป็นตัวอย่างการใช้ตัวดำเนินการแบบต่างๆ

ในตัวอย่างเป็นโปรแกรมในการคำนวณหาภาษามูลค่าเพิ่มจากการซื้อสิ้นค้า โดยเรามีราคาของสิ้นค้าที่ยังไม่รวมภาษาษีและอัตราของภาษา และคำนวณสำหรับราคาทั้งหมดที่ต้องจ่ายหลังจากรวมกับภาษีแล้ว

  • ตัวแปร $price นั้นเป็นราคาสิ้นค้าที่ยังไม่ได้รวมกับภาษี และตัวแปร $tax_rate เป็นอัตราภาษีต่อ 100% และคุณสามารถเปลี่ยนค่าของตัวแปรเหล่านี้ได้

  • ในตัวแปร $tax_priceเป็นการคำนวณหาราคาที่เพิ่มขึ้นมาจากภาษี และ $total_price เป็นการหาราคาทั้งหมดเมื่อรวมกับภาษีแล้ว

  • นี่เป็นผลลัพธ์ของโปรแกรม ซึ่งอธิบายได้ว่าเมื่อคุณซื้อของในราคา 150 และมีภาษี 10% ราคาทั้งหมดที่คุณจะต้องจ่ายหลังจากรวมภาษีแล้วคือ 165

ตัวดำเนินการกำหนดค่าแบบผสม (Compound assignment)

Compound assignment operators คือตัวดำเนินการที่รวมระหว่างตัวดำเนินการทางคณิตศาสตร์และตัวดำเนินการกำหนดค่า มันใช้สำหรับอัพเดทข้อมูลที่อ้างอิงจากข้อมูลในปัจจุบัน หรือกล่าวอีกนัยหนึ่ง มันเป็นรูปแบบที่สั้นกว่าของตัวดำเนินการทางคณิตศาสตร์

ในตัวอย่าง เป็นโปรแกรมแสดงการทำงานของการสร้างตึก ตัวแปร $floor สำหรับเก็บค่าจำนวนชั้นของตึกที่ทำการสร้างเสร็จแล้ว ในแต่ละวันที่ทำการสร้างตึกเสร็จ จะนำจำนวนชั้นใหม่ไปบวกเพิ่มกับวันก่อนหน้า เช่น ในวันแรกสร้างเสร็จไป 3 ชั้นจะได้ $floor += 3; ซึ่งตัวดำเนินการเหล่านี้เป็นรูปแบบที่สั้นขึ้นจาก $floor = $floor + 3; นี่คือการลดการใช้ Operand ที่ไม่จำเป็นออกไป ในการเขียนคุณสามารถใช้แบบไหนก็ได้

ตัวดำเนินการยูนารีแบบเพิ่มค่าและลดค่าทีละหนึ่ง

ตัวดำเนินการเพิ่มค่าและตัวดำเนินการลบค่า จะใช้เครื่องหมาย - - เพื่อลดค่าทีละหนึ่ง และเครื่องหมาย + + เพื่อเพิ่มค่าทีละหนึ่ง โดยเขียนนำหน้าค่าตัวแปรหรือหลังตัวแปรก็ได้

การเพิ่มค่าทีละหนึ่ง (Increment)

  • ใช้ a++ หรือ ++a ก็มีความหมายเดียวกันกับนิพจน์ a = a + 1

การลดค่าทีละหนึ่ง (Decrement)

  • ใช้ b-- หรือ --b ก็มีความหมายเดียวกันกับนิพจน์ a = b – 1

ตัวดำเนินการเปรียบเทียบ (Comparison Operators)

เครื่องหมายที่ใช้ในการเปรียบเทียบในทางคณิตศาสตร์ ผลลัพธ์จะมี 2 กรณีคือ ถ้าผลลัพธ์ถูกต้องหรือเป็นจริง (True) จะมีค่าเป็น 1 ถ้าผลลัพธ์ผิดหรือเป็นเท็จ (False) จะมีค่าเป็น 0 ผลลัพธ์ของการเปรียบเทียบ เรียกว่า ค่าคงที่บูลีน (Boolean Constant)

ในภาษา PHP เนื่องจากตัวแปรเป็นแบบ Typeless ดังนั้นค่าของตัวแปรอาจจะมีความหมายเท่ากันในบางบริบท เช่น ค่าของ True นั้นอาจจะเท่ากับ 1 และค่าของ False อาจจะเท่ากับ 0

ตัวดำเนินการตรรกศาสตร์ (Logical operators)

เครื่องหมายที่ใช้เชื่อมเงื่อนไข 2 เงื่อนไข หรือมากกว่า 2 เงื่อนไข เพื่อให้การเปรียบเทียบมีความละเอียดมากขึ้น ใช้สัญลักษณ์แทนในแต่ละเครื่องหมาย ดังนี้

ตัวดำเนินการเงื่อนไข

จะนำไปใช้ในการทดสอบค่านิพจน์ทางตรรกะว่า จริงหรือเท็จ ดังนี้

รูปแบ expression1 ? expression2 : expression3

โดยที่

  • expression 1 หมายถึง นิพจน์เงื่อนไข

  • expression 2 หมายถึง นิพจน์กรณีเป็นจริง

  • expression 3 หมายถึง นิพจน์กรณีเป็นเท็จ

<?php

$x = 5;

$y = 10;

$result = ($x < $y) ? 0 : 100 ;

?>

0