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