GORAGOD.com

เรื่องน่ารู้เกี่ยวกับการใช้งานฟังก์ชั่น empty()

ฟังก์ชั่น empty() ของ PHP ใช้สำหรับตรวจสอบตัวแปรว่ามีค่าหรือไม่ ซึ่งหลายๆคนอาจใช้ ฟังก์ชั่นนี้แบบผิดๆ หรือไม่ก็ไม่เคยใช้เลย ลองมาดูประโยชน์ และ ทริคเล็กๆน้อย ของฟังก์ชั่นนี้กัน
  • empty() ใช้ทดสอบ Array ได้ดีกว่าการใช้ count() ในกรณีที่ต้องการตรวจสอบว่าแอเรย์ว่างเปล่าหรือไม่ เนื่องจาก empty จะทำงานพร้อมๆกัน 2 อย่าง คือ ตรวจสอบว่ามีตัวแปรแอเรย์หรือไม่ และ ยังตรวจสอบว่า ตัวแปรมีสมาชิกหรือไม่ด้วย
    if (empty($array)) {
      // แอเรย์ว่างเปล่า
    }
    // ฟังก์ชั่นด้านบนจะทำหน้าที่เหมือนกับคำสั่งด้านล่าง
    if (isset($array) && count($array) == 0) {
      // แอเรย์ว่างเปล่า
    }
    อีกอย่างคือ คำสั่ง count() จะทำงานได้ช้ากว่าหากตัวแปรมีสมาชิกจำนวนมาก
  • อย่าใช้ empty() ในการทดสอบตัวแปร string ดูตัวอย่างเลยละกัน
    $mystring = '0';
    if (empty($mystring)) {
      // ฟังก์ชั่นจะคืนค่า true หาก ตัวแปรสตริงค์มีค่าเท่ากับ 0
    }

  • ถ้าต้องการทดสอบว่าตัวแปร string มีค่าหรือไม่ และ ค่าต้องไม่ใช่ 0 การใช้ empty() จะเร็วกว่าการใช้ == (โดยเฉพาะหากไม่มีการจองตัวแปรมาก่อน)
    if (empty($mystring)) {
      // fast
    }
    if ($mystring == '') {
      // slow
    }