ข้ามไปยังเนื้อหาหลัก
คู่มือระบบ เนื้อหาผ่านการตรวจสอบแล้ว

ตัวดำเนินการ (Operators) ใน PHP

บทนี้ได้แนะนำตัวดำเนินการ (Operators) พื้นฐานใน PHP ซึ่งได้แก่ ตัวดำเนินการทางคณิตศาสตร์ (บวก, ลบ, คูณ, หาร, มอดุโล, increment/decrement), ตัวดำเนินการเปรียบเที...

ตัวดำเนินการ (Operators) ใน PHP

ในบทเรียนที่แล้ว เราได้เรียนรู้เกี่ยวกับตัวแปรและชนิดข้อมูลต่างๆ ใน PHP ซึ่งเป็นพื้นฐานสำคัญในการเขียนโปรแกรม ในบทนี้ เราจะมาทำความรู้จักกับ "ตัวดำเนินการ" (Operators) ซึ่งเป็นสัญลักษณ์ที่ใช้ในการกระทำการต่างๆ กับตัวแปรและค่าต่างๆ เช่น การบวก, ลบ, เปรียบเทียบ, และการกำหนดค่า

ตัวดำเนินการใน PHP มีหลากหลายประเภท แต่ในบทนี้เราจะเน้นที่ตัวดำเนินการพื้นฐานที่สำคัญ ได้แก่ ตัวดำเนินการทางคณิตศาสตร์, ตัวดำเนินการเปรียบเทียบ, และตัวดำเนินการตรรกศาสตร์

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

ตัวดำเนินการทางคณิตศาสตร์ใช้สำหรับการคำนวณทางคณิตศาสตร์พื้นฐาน ได้แก่

  • + (บวก): ใช้สำหรับบวกค่าสองค่าเข้าด้วยกัน
  • - (ลบ): ใช้สำหรับลบค่าสองค่าออกจากกัน
  • * (คูณ): ใช้สำหรับคูณค่าสองค่าเข้าด้วยกัน
  • / (หาร): ใช้สำหรับหารค่าสองค่าออกจากกัน
  • % (มอดุโล): ใช้สำหรับหาเศษเหลือจากการหาร

ตัวอย่าง:

<?php

$x = 10;
$y = 5;

$sum = $x + $y; // $sum จะมีค่า 15
$difference = $x - $y; // $difference จะมีค่า 5
$product = $x * $y; // $product จะมีค่า 50
$quotient = $x / $y; // $quotient จะมีค่า 2
$remainder = $x % $y; // $remainder จะมีค่า 0

echo "ผลบวก: " . $sum . "<br>";
echo "ผลต่าง: " . $difference . "<br>";
echo "ผลคูณ: " . $product . "<br>";
echo "ผลหาร: " . $quotient . "<br>";
echo "เศษเหลือ: " . $remainder . "<br>";

?>

ผลลัพธ์ที่ได้:

ผลบวก: 15<br>
ผลต่าง: 5<br>
ผลคูณ: 50<br>
ผลหาร: 2<br>
เศษเหลือ: 0

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

  • ++ (Increment): เพิ่มค่าตัวแปรขึ้นทีละ 1
  • -- (Decrement): ลดค่าตัวแปรลงทีละ 1

ตัวอย่าง:

<?php

$x = 5;

$x++; // $x จะมีค่า 6 (Post-increment)
echo "ค่า x หลัง Post-increment: " . $x . "<br>";

++$x; // $x จะมีค่า 7 (Pre-increment)
echo "ค่า x หลัง Pre-increment: " . $x . "<br>";


$y = 5;

$y--; // $y จะมีค่า 4 (Post-decrement)
echo "ค่า y หลัง Post-decrement: " . $y . "<br>";

--$y; // $y จะมีค่า 3 (Pre-decrement)
echo "ค่า y หลัง Pre-decrement: " . $y . "<br>";

?>

ผลลัพธ์ที่ได้:

ค่า x หลัง Post-increment: 6<br>
ค่า x หลัง Pre-increment: 7<br>
ค่า y หลัง Post-decrement: 4<br>
ค่า y หลัง Pre-decrement: 3

ข้อแตกต่างระหว่าง Post-increment/decrement และ Pre-increment/decrement คือลำดับการทำงาน หากใช้ Post-increment/decrement ค่าของตัวแปรจะถูกใช้ก่อน แล้วค่อยเพิ่ม/ลดค่า แต่หากใช้ Pre-increment/decrement ค่าของตัวแปรจะถูกเพิ่ม/ลดก่อน แล้วค่อยนำไปใช้

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

ตัวดำเนินการเปรียบเทียบใช้สำหรับการเปรียบเทียบค่าสองค่า ผลลัพธ์ที่ได้จะเป็นค่า Boolean (true หรือ false)

  • == (เท่ากัน): ตรวจสอบว่าค่าสองค่าเท่ากันหรือไม่ (ไม่สนใจชนิดข้อมูล)
  • != (ไม่เท่ากัน): ตรวจสอบว่าค่าสองค่าไม่เท่ากันหรือไม่ (ไม่สนใจชนิดข้อมูล)
  • === (เหมือนกัน): ตรวจสอบว่าค่าสองค่าเท่ากันและมีชนิดข้อมูลเดียวกันหรือไม่
  • !== (ไม่เหมือนกัน): ตรวจสอบว่าค่าสองค่าไม่เท่ากันหรือมีชนิดข้อมูลต่างกันหรือไม่
  • > (มากกว่า): ตรวจสอบว่าค่าทางซ้ายมากกว่าค่าทางขวาหรือไม่
  • < (น้อยกว่า): ตรวจสอบว่าค่าทางซ้ายน้อยกว่าค่าทางขวาหรือไม่
  • >= (มากกว่าหรือเท่ากับ): ตรวจสอบว่าค่าทางซ้ายมากกว่าหรือเท่ากับค่าทางขวาหรือไม่
  • <= (น้อยกว่าหรือเท่ากับ): ตรวจสอบว่าค่าทางซ้ายน้อยกว่าหรือเท่ากับค่าทางขวาหรือไม่

ตัวอย่าง:

<?php

$x = 10;
$y = "10";

var_dump($x == $y); // bool(true) (เท่ากัน แม้ชนิดข้อมูลต่างกัน)
echo "<br>";
var_dump($x === $y); // bool(false) (ไม่เหมือนกัน เพราะชนิดข้อมูลต่างกัน)
echo "<br>";
var_dump($x != $y); // bool(false) (ไม่เท่ากัน แม้ชนิดข้อมูลต่างกัน)
echo "<br>";
var_dump($x !== $y); // bool(true) (ไม่เหมือนกัน เพราะชนิดข้อมูลต่างกัน)
echo "<br>";

$a = 5;
$b = 8;

var_dump($a > $b); // bool(false)
echo "<br>";
var_dump($a < $b); // bool(true)
echo "<br>";
var_dump($a >= 5); // bool(true)
echo "<br>";
var_dump($b <= 8); // bool(true)
echo "<br>";

?>

ผลลัพธ์ที่ได้:

bool(true)<br>
bool(false)<br>
bool(false)<br>
bool(true)<br>
bool(false)<br>
bool(true)<br>
bool(true)<br>
bool(true)

การใช้ == และ === มีความแตกต่างกันอย่างมาก ควรเลือกใช้ให้เหมาะสมกับสถานการณ์

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

ตัวดำเนินการตรรกศาสตร์ใช้สำหรับการรวมหรือเปลี่ยนแปลงค่า Boolean

  • && (AND): ให้ค่า true เมื่อทั้งสองฝั่งเป็น true
  • || (OR): ให้ค่า true เมื่อฝั่งใดฝั่งหนึ่งเป็น true
  • ! (NOT): เปลี่ยนค่า true เป็น false และ false เป็น true

ตัวอย่าง:

<?php

$x = true;
$y = false;

var_dump($x && $y); // bool(false)
echo "<br>";
var_dump($x || $y); // bool(true)
echo "<br>";
var_dump(!$x); // bool(false)
echo "<br>";
var_dump(!$y); // bool(true)
echo "<br>";

$age = 25;
$isStudent = false;

// ตรวจสอบว่าอายุมากกว่า 18 ปี และเป็นนักเรียน
var_dump($age > 18 && $isStudent); // bool(false)
echo "<br>";

// ตรวจสอบว่าอายุมากกว่า 18 ปี หรือเป็นนักเรียน
var_dump($age > 18 || $isStudent); // bool(true)
echo "<br>";

?>

ผลลัพธ์ที่ได้:

bool(false)<br>
bool(true)<br>
bool(false)<br>
bool(true)<br>
bool(false)<br>
bool(true)

ตัวดำเนินการตรรกศาสตร์มักถูกใช้ร่วมกับคำสั่งควบคุมการทำงาน (if, else) ซึ่งเราจะเรียนรู้ในบทเรียนถัดไป

สรุป

ในบทนี้ เราได้เรียนรู้เกี่ยวกับตัวดำเนินการพื้นฐานใน PHP ได้แก่ ตัวดำเนินการทางคณิตศาสตร์, ตัวดำเนินการเปรียบเทียบ, และตัวดำเนินการตรรกศาสตร์ ซึ่งเป็นเครื่องมือสำคัญในการเขียนโปรแกรม PHP ที่ซับซ้อนยิ่งขึ้น ในบทเรียนถัดไป เราจะนำความรู้เกี่ยวกับตัวดำเนินการเหล่านี้ไปใช้ในการสร้างคำสั่งควบคุมการทำงานของโปรแกรม

Office.in.th Custom Service

ต้องการพัฒนาระบบหรือปรับแต่งจากโครงสร้างนี้?

Office.in.th รับพัฒนาและออกแบบ Enterprise Web Application, API Integration และระบบบริหารงานภาครัฐ/เอกชน พร้อมการสนับสนุนระยะยาว

ดูบริการรับพัฒนาซอฟต์แวร์