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

Operators ใน PHP: Arithmetic, Comparison, Logical

บทความนี้อธิบายถึง Operators ประเภทต่างๆ ใน PHP ได้แก่ Arithmetic Operators (บวก ลบ คูณ หาร), Comparison Operators (เปรียบเทียบค่า), และ Logical Operators (รวมเ...

Operators ใน PHP: Arithmetic, Comparison, Logical

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

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

Arithmetic Operators เป็น Operators ที่ใช้ในการคำนวณทางคณิตศาสตร์พื้นฐาน เช่น การบวก ลบ คูณ หาร ยกกำลัง และหารเอาเศษ

  • + (Addition): บวกค่า
  • - (Subtraction): ลบค่า
  • * (Multiplication): คูณค่า
  • / (Division): หารค่า
  • % (Modulo): หารเอาเศษ
  • ** (Exponentiation): ยกกำลัง (ใช้ได้ตั้งแต่ PHP 5.6)

ตัวอย่างการใช้งาน:

<?php

$x = 10;
$y = 5;

echo "ผลบวก: " . ($x + $y) . "<br>";  // Output: ผลบวก: 15
echo "ผลลบ: " . ($x - $y) . "<br>";  // Output: ผลลบ: 5
echo "ผลคูณ: " . ($x * $y) . "<br>";  // Output: ผลคูณ: 50
echo "ผลหาร: " . ($x / $y) . "<br>";  // Output: ผลหาร: 2
echo "เศษจากการหาร: " . ($x % $y) . "<br>"; // Output: เศษจากการหาร: 0
echo "10 ยกกำลัง 2: " . (10 ** 2) . "<br>"; // Output: 10 ยกกำลัง 2: 100

?>

ในตัวอย่างข้างต้น เราใช้ Arithmetic Operators เพื่อทำการคำนวณค่าต่างๆ และแสดงผลลัพธ์ออกมา โดยการใช้เครื่องหมาย . (dot) เพื่อเชื่อมต่อข้อความและค่าตัวแปรเข้าด้วยกัน

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

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

  • == (Equal): เท่ากัน (ตรวจสอบเฉพาะค่า ไม่สนใจชนิดข้อมูล)
  • === (Identical): เหมือนกันทุกประการ (ตรวจสอบทั้งค่าและชนิดข้อมูล)
  • != (Not equal): ไม่เท่ากัน (ตรวจสอบเฉพาะค่า)
  • !== (Not identical): ไม่เหมือนกัน (ตรวจสอบทั้งค่าและชนิดข้อมูล)
  • > (Greater than): มากกว่า
  • < (Less than): น้อยกว่า
  • >= (Greater than or equal to): มากกว่าหรือเท่ากับ
  • <= (Less than or equal to): น้อยกว่าหรือเท่ากับ

ตัวอย่างการใช้งาน:

<?php

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

var_dump($x == $y);  // Output: bool(true)  (ค่าเท่ากัน)
var_dump($x === $y); // Output: bool(false) (ชนิดข้อมูลไม่เหมือนกัน)
var_dump($x != $y);  // Output: bool(false) (ค่าเท่ากัน)
var_dump($x !== $y); // Output: bool(true)  (ชนิดข้อมูลไม่เหมือนกัน)
var_dump($x > 5);   // Output: bool(true)  (10 มากกว่า 5)
var_dump($x < 12);  // Output: bool(true)  (10 น้อยกว่า 12)
var_dump($x >= 10);  // Output: bool(true)  (10 มากกว่าหรือเท่ากับ 10)
var_dump($x <= 8);   // Output: bool(false) (10 น้อยกว่าหรือเท่ากับ 8)

?>

จากตัวอย่าง จะเห็นว่า == จะตรวจสอบเฉพาะค่าของตัวแปรเท่านั้น ในขณะที่ === จะตรวจสอบทั้งค่าและชนิดข้อมูล ดังนั้น 10 == "10" จะให้ผลลัพธ์เป็น true แต่ 10 === "10" จะให้ผลลัพธ์เป็น false

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

Logical Operators ใช้ในการรวมหรือเปลี่ยนแปลงค่า Boolean เพื่อสร้างเงื่อนไขที่ซับซ้อนยิ่งขึ้น

  • && (And): และ (ทั้งสองเงื่อนไขต้องเป็น true จึงจะได้ true)
  • || (Or): หรือ (เงื่อนไขใดเงื่อนไขหนึ่งเป็น true ก็จะได้ true)
  • ! (Not): ไม่ (เปลี่ยนค่า true เป็น false และ false เป็น true)
  • and (And): และ (เหมือน && แต่มี precedence ต่ำกว่า)
  • or (Or): หรือ (เหมือน || แต่มี precedence ต่ำกว่า)
  • xor (Xor): Exclusive or (เป็น true ถ้ามีเงื่อนไขเดียวที่เป็น true)

ตัวอย่างการใช้งาน:

<?php

$x = 5;
$y = 10;

if ($x > 0 && $y < 20) {
    echo "ทั้ง x มากกว่า 0 และ y น้อยกว่า 20<br>"; // Output: ทั้ง x มากกว่า 0 และ y น้อยกว่า 20
}

if ($x > 10 || $y > 5) {
    echo "อย่างน้อย x มากกว่า 10 หรือ y มากกว่า 5<br>"; // Output: อย่างน้อย x มากกว่า 10 หรือ y มากกว่า 5
}

if (!($x == 10)) {
    echo "x ไม่เท่ากับ 10<br>"; // Output: x ไม่เท่ากับ 10
}

if ($x > 0 and $y < 20) {
    echo "ทั้ง x มากกว่า 0 และ y น้อยกว่า 20 (ใช้ 'and')<br>"; // Output: ทั้ง x มากกว่า 0 และ y น้อยกว่า 20 (ใช้ 'and')
}

if ($x > 10 or $y > 5) {
    echo "อย่างน้อย x มากกว่า 10 หรือ y มากกว่า 5 (ใช้ 'or')<br>"; // Output: อย่างน้อย x มากกว่า 10 หรือ y มากกว่า 5 (ใช้ 'or')
}

if ($x > 0 xor $y > 15) {
    echo "x มากกว่า 0 หรือ y มากกว่า 15 อย่างใดอย่างหนึ่งเท่านั้น<br>"; // Output: x มากกว่า 0 หรือ y มากกว่า 15 อย่างใดอย่างหนึ่งเท่านั้น
}

?>

Logical Operators มักถูกใช้ร่วมกับ if statements และ loops เพื่อควบคุมการทำงานของโปรแกรมตามเงื่อนไขต่างๆ

Precedence of Operators (ลำดับความสำคัญของ Operators)

Operators แต่ละชนิดมีลำดับความสำคัญ (precedence) ที่แตกต่างกัน เมื่อมีการใช้ Operators หลายตัวใน expression เดียว PHP จะทำการคำนวณตามลำดับความสำคัญของ Operators

ตัวอย่างเช่น:

<?php

$result = 10 + 5 * 2;
echo $result; // Output: 20 (การคูณทำก่อนการบวก)

$result = (10 + 5) * 2;
echo $result; // Output: 30 (วงเล็บทำให้การบวกทำก่อน)

?>

ในตัวอย่างแรก การคูณ (*) มีลำดับความสำคัญสูงกว่าการบวก (+) ดังนั้น PHP จะทำการคูณ 5 * 2 ก่อน แล้วจึงนำผลลัพธ์ไปบวกกับ 10 ในตัวอย่างที่สอง เราใช้วงเล็บ () เพื่อบังคับให้ PHP ทำการบวกก่อน แล้วจึงนำผลลัพธ์ไปคูณ

การเข้าใจลำดับความสำคัญของ Operators เป็นสิ่งสำคัญเพื่อให้เราสามารถเขียนโค้ดที่ทำงานได้อย่างถูกต้องตามที่เราต้องการ

สรุป

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

Office.in.th Custom Service

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

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

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