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

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 และแสดงค่าของตัวแปรนั้นด้วย