ภาษาพีเอชพี/ประเภทของตัวแปร/บูลีน

Boolean แก้ไข

เป็นชนิดที่เรียบง่ายที่สุด โดย boolean จะบอกค่าความจริง จะเป็นได้แค่อย่างใดอย่างหนึ่งคือ TRUE หรือ FALSE

  • ชนิด boolean มีการเริ่มใช้ตอน PHP4

รูปแบบคำสั่ง แก้ไข

การจะกำหนดค่า boolean นั้นให้ใช้คำว่า TRUE หรือ FALSE

<?php
     $foo = True; // กำหนดค่า TRUE ให้กับ $foo
?>

มี operator บางตัวคืนค่า boolean และค่าที่ได้นั้นส่งต่อไปให้ control structure

<?php
// == เป็น operator(ตัวดำเนินการ) ที่ใช้ทดสอบ
// ความเท่ากันและคืนค่าเป็น boolean
if ($action == "show_version") {
    echo "The version is 1.23";
}

// การทำแบบนี้ไม่จำเป็น
if ($show_separators == TRUE) {
    echo "<hr>\n";
}

// เพราะว่าสามารถใช้แบบนี้แทนได้
if ($show_separators) {
    echo "<hr>\n";
}
?>

การแปลงค่าเป็น boolean แก้ไข

การจะแปลงค่าให้เป็น boolean นั้นสามารถทำได้ โดยใช้ (bool) หรือ (boolean) แปลง ยังไงก็ตามส่วนมากแล้วการแปลงแบบนั้นไม่จำเป็น เนื่องจาก ค่า จะได้รับการแปลงโดยอัตโนมัติถ้าเกิดว่า operator, ฟังก์ชั่น หรือ โครงสร้างควบคุม(control structure) นั้นต้องใช้ค่า boolean เป็น อาร์กิวเมนท์(argument)
ดูเพิ่มเติมที่ Type Juggling

เมื่อเกิดการแปลงเป็น boolean ตามข้างล่างค่าที่ได้จะเป็น FALSE
  • ค่า boolean FALSE อยู่แล้ว
  • ค่า integer 0 (ศูนย์)
  • ค่า float 0.0 (ศูนย์)
  • String ที่ว่างเปล่า และค่า string ที่เป็น "0"
  • Array ที่ไม่มี element
  • Object ที่ไม่มี member variable (PHP 4 เท่านั้น)
  • ชนิดพิเศษ NULL (ร่วมถึงตัวแปรที่ยังไม่ได้กำหนดค่า)
  • SimpleXML object ที่สร้างขึ้นด้วยแท็กว่างเปล่า
PHP จะมอง -1 เป็น TRUE เช่นเดียวกับ ตัวเลขอื่น ๆ ที่ไม่ใช่ 0 (ไม่ว่าจะเป็นค่าบวกหรือติดลบก็ตาม)

ตัวอย่างของการแปลง boolean ด้วย (bool) โดยให้มีการแสดงผลออกมาด้วย var_dump()

<?php
var_dump((bool) "");        // bool(false)
var_dump((bool) 1);         // bool(true)
var_dump((bool) -2);        // bool(true)
var_dump((bool) "foo");     // bool(true)
var_dump((bool) 2.3e5);     // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array());   // bool(false)
var_dump((bool) "false");   // bool(true)
?>

var_dump() จะแสดงชนิดของตัวแปรที่เป็น argument และแสดงค่าของตัวแปรนั้นด้วย