PHP Operators การดำเนินการทาง PHP
Operators คืออะไร
Operators ก็คือการดำเนินการต่าง ๆ อย่างเช่น 5 + 4 = 1 ซึ่ง 4 กับ 5 จะถูกเรียกกว่า operands และ + กับ = ก็เรียกกว่า Operators นั่นเอง
ชนิดของ Operator ในภาษา PHP
- Arithmetic Operators
- Comparision Operators
- Logical (or Relational) Operators
- Assignment Operators
- Conditional (or ternary) Operators
Arithmatic Operators
เป็นการดำเนินการทางคณิตศาสตร์ ดังตัวอย่างด้านล่าง ให้ a = 10 และ b = 20
| Operator | คำอธิบาย | ตัวอย่าง |
| + | การบวกกันของ 2 operands | A + B จะได้เท่ากับ 30 |
| - | การลบกันของ 2 operands | A - B จะได้เท่ากับ -10 |
| * | การคูณกันของ 2 operands | A * B จะได้เท่ากับ 200 |
| / | การหารกันของ 2 operands | B / A จะได้เท่ากับ 2 |
| % | การ mod กันของ 2 operands | B % A จะได้เท่ากับ 0 |
| ++ | การเพิ่มค่า operands ขึ้น 1 ใช้สำหรับ integer | A++ จะได้เท่ากับ 11 |
| -- | การลดค่า operands ลง 1 ใช้สำหรับ integer | A-- จะได้เท่ากับ 9 |
Comparison Operators
เป็นการเปรียบเทียบกันของ 2 operands ซึ่งดังตัวอย่าง ให้ a = 10 และ b = 20
| Operator | คำอธิบาย | ตัวอย่าง |
| == | เช็คว่า 2 operands เท่ากันหรือไม่ ถ้าเท่าจะคืนจริง ถ้าไม่เท่าจะคืนเท็จ | (A == B) จะได้เท่ากับ false. |
| != | เช็คว่า 2 operands ไม่เท่ากันหรือไม่ ถ้าเท่าจะคืนเท็จ ถ้าไม่เท่าจะคืนจริง | (A != B) จะได้เท่ากับ true |
| > | เช็คค่า operands ทางซ้ายว่า มากกว่าทางขวาหรือไม่ ถ้ามากกว่าจะคืนจริง ถ้าไม่ใช่จะคืนเท็จ | (A > B) จะได้เท่ากับ false. |
| < | เช็คค่า operands ทางซ้ายว่า น้อยกว่าทางขวาหรือไม่ ถ้าน้อยกว่าจะคืนจริง ถ้าไม่ใช่จะคืนเท็จ | (A < B) จะได้เท่ากับ true |
| >= | เช็คค่า operands ทางซ้ายว่า มากกว่าหรือไม่เท่าทางขวาหรือไม่ ถ้ามากกว่าหรือเท่ากับจะคืนจริง ถ้าไม่ใช่จะคืนเท็จ | (A >= B) จะได้เท่ากับ false. |
| <= | เช็คค่า operands ทางซ้ายว่า น้อยกว่าหรือเท่ากับทางขวาหรือไม่ ถ้าน้อยกว่าหรือเท่ากับจะคืนจริง ถ้าไม่ใช่จะคืนเท็จ | (A <= B) จะได้เท่ากับ true |
Logical Operators
เป็นการเปรียบเทียบทางตรรกกระ ซึ่งดังตัวอย่าง ให้ a = 10 และ b = 20
| Operator | คำอธิบาย | ตัวอย่าง |
| and | เรียกว่า and ถ้าทั้ง 2 operands เป็นจริง จะได้จริง | (A and B) จะได้เท่ากับ true |
| or | เรียกกว่า or ถ้า operands อันใดอันหนึ่งเป็นจริง จะได้จริง | (A or B) จะได้เท่ากับ true |
| && | เรียกว่า and ถ้าทั้งสอง ไม่ใช่ 0 จะคืนจริง | (A && B) จะได้เท่ากับ true |
| || | เรียกว่า or ถ้า operands อันใดอันหนึ่ง ไม่ใช่ 0 จะคืนจริง | (A || B) จะได้เท่ากับ true |
| ! | เรียกว่า not ถ้าเป็นจริง จะได้เท็จ ถ้าเป็นเท็จจะได้จริง | !(A && B) is false. |
Assignment Operators
เป็น operators ที่ใช้สำหรับกำหนดค่า
| Operator | คำอธิบาย | ตัวอย่าง |
| = | ใช้สำหรับกำหนดให้เท่ากับ | C = A + B will assigne value of A + B into C |
| += | กำหนดค่าทางซ้ายให้เท่ากับ ทางซ้ายบวกทางขวา | C += A is equivalent to C = C + A |
| -= | กำหนดค่าทางซ้ายให้เท่ากับ ทางซ้ายลบทางขวา | C -= A is equivalent to C = C - A |
| *= | กำหนดค่าทางซ้ายให้เท่ากับ ทางซ้ายคูณทางขวา | C *= A is equivalent to C = C * A |
| /= | กำหนดค่าทางซ้ายให้เท่ากับ ทางซ้ายหารทางขวา | C /= A is equivalent to C = C / A |
| %= | กำหนดค่าทางซ้ายให้เท่ากับ ทางซ้าย mod ทางขวา | C %= A is equivalent to C = C % A |
Conditional Operators
เป็น operators ที่ใช้สำหรับการกำหนดเงื่อนไง การตัดสินใจ
| Operator | คำอธิบาย | ตัวอย่าง |
| ? : | Conditional Expression | ($a == $b)? $c = 4 : $c = 5; |
ลำดับความสำคัญของ Operators
ในบางครั้งการคำนวณเลข เช่น 4 + 3 * 2 = 10 ซึ่งการคำนวณนี้ จะเอา 3 คูณ 2 ก่อน แล้วจึงค่อยมาบวก 4 ที่เป็นเช่นนี้เพราะว่า การคูณ มีความสำคัญกว่าการบวก แต่ถ้ามีความสำคัญเท่ากับ จะไล่จากซ้ายไปขวา เช่น 4 + 3 + 2 = 9 ซึ่งลำดับความสำคัญต่าง ๆ ดูได้จากตารางด้านล่างนี้
| Category | Operator | Associativity |
| Unary | ! ++ -- | Right to left |
| Multiplicative | * / % | Left to right |
| Additive | + - | Left to right |
| Relational | < <= > >= | Left to right |
| Equality | == != | Left to right |
| Logical AND | && | Left to right |
| Logical OR | || | Left to right |
| Conditional | ?: | Right to left |
| Assignment | = += -= *= /= %= | Right to left |