ฟังก์ชัน isset() ใช้ในการตรวจสอบว่ามีการตั้งค่าตัวแปรหรือไม่และไม่เป็น NULL หากตัวแปรถูกปล่อยออกมาโดยใช้ unset() ดังนั้น isset() จะส่งกลับ FALSE หากใช้ isset() เพื่อทดสอบตัวแปรที่ตั้งค่าเป็น NULL ระบบจะส่งคืน FALSE โปรดทราบว่าอักขระ null ("\0") ไม่เทียบเท่ากับค่าคงที่ NULL ของ PHP ข้อกำหนดเวอร์ชัน PHP: PHP 4, PHP 5, PHP 7 ไวยากรณ์ บูล isset ( ผสม $var [, ผสม $... ] ) คำอธิบายพารามิเตอร์: $var: ตัวแปรที่จะทดสอบ หากมีการส่งผ่านพารามิเตอร์หลายรายการในครั้งเดียว isset() จะส่งกลับค่า TRUE เมื่อตั้งค่าพารามิเตอร์ทั้งหมดแล้วเท่านั้น กระบวนการคำนวณจะนับจากซ้ายไปขวา และจะหยุดทันทีเมื่อพบตัวแปรที่ไม่ได้ตั้งค่า ส่งกลับค่า ส่งคืน TRUE หากมีตัวแปรที่ระบุอยู่และไม่ใช่ NULL มิฉะนั้นจะส่งคืน FALSE ตัวอย่าง ตัวอย่าง <?php $var = ' ' ; // ผลลัพธ์เป็น TRUE ดังนั้นข้อความต่อไปนี้จะถูกพิมพ์ ถ้า ( ไอเซต ( $var ) ) - เสียงสะท้อน " ตั้ง ค่า ตัวแปร แล้ว " . // ในตัวอย่างต่อไปนี้ เราจะใช้ var_dump เพื่อส่งออกค่าที่ส่งคืนของ isset() // ค่าส่งคืนของ isset() $ a = " test " ; $ b = " var_dump ( isset ( $ a ) ) ; var_dump ( isset ( $a , $b ) ) ; // TRUE ไม่ได้ตั้งค่า ( $a ) ; var_dump ( isset ( $a ) ) ; // FALSE var_dump ( isset ( $a , $b ) ) ; // FALSE $foo = NULL ; var_dump ( isset ( $foo ) ) ; // FALSE - ผลลัพธ์คือ: ตัวแปรถูกตั้งค่า บูล (จริง) บูล (จริง) บูล (เท็จ) บูล (เท็จ) บูล (เท็จ) สิ่งนี้ใช้ได้กับองค์ประกอบในอาร์เรย์ด้วย: ตัวอย่าง <?php $a = อาร์เรย์ ( ' test ' = > 1 , ' hello ' = > NULL , ' pie ' = > array ( ' a ' = > ' apple ' ) ) ;var_dump ( isset ( $a [ ' foo ' ] ) ) ; // FALSE var_dump ( isset ( $a [ ' สวัสดี ' ] ) ) ; // FALSE // ค่าของคีย์ 'hello' เท่ากับ NULL ดังนั้นจึงถือว่าไม่ได้ตั้งค่า // หากคุณต้องการตรวจสอบค่าคีย์ NULL คุณสามารถลองใช้วิธีต่อไปนี้ var_dump ( array_key_exists ( ' สวัสดี ' , $a ) ) ; // TRUE // การตรวจจับที่ลึกยิ่งขึ้น var_dump ( isset ( $a [ ' พาย ' ] [ ' a ' ] ) ) ; // TRUE var_dump ( isset ( $a [ ' พาย ' ] [ ' b ' ] ) ) ; // FALSE var_dump ( isset ( $ a [ ' เค้ก ' ] [ ' a ' ] [ ' b ' ] ) ) // FALSE - ผลลัพธ์คือ: บูล(จริง)บูล(เท็จ)บูล(เท็จ)บูล(จริง)บูล(จริง)บูล(เท็จ)บูล(เท็จ) การใช้ isset() กับการแทนที่สตริง PHP 5.4 เปลี่ยนพฤติกรรมของ isset() เมื่อส่งผ่านค่าชดเชยสตริง ตัวอย่าง <?php $ expected_array_got_string = ' somestring ' ; var_dump ( isset ( $ Expected_array_got_string [ ' 0 ] ) ) ; _dump ( isset ( $ expected_array_got_string [ 0 .5 ] ) ; var_dump ( isset ( $ expected_array_got_string [ ' 0.5 ' ] ) ) ; ผลลัพธ์ของตัวอย่างข้างต้นใน PHP 5.3: บูล(จริง)บูล(จริง)บูล(จริง)บูล(จริง)บูล(จริง)บูล(จริง) ผลลัพธ์ของตัวอย่างข้างต้นใน PHP 5.4: บูล(เท็จ)บูล(จริง)บูล(จริง)บูล(จริง)บูล(เท็จ)บูล(เท็จ)