แนะนำตัว
AssertionError class เป็น subclass ของ Error ระดับ. ข้อผิดพลาดประเภทนี้เกิดขึ้นเมื่อ ยืนยัน() คืนค่า FALSE
assert() ตรวจสอบว่าการยืนยันที่ให้มานั้นจริงหรือเท็จ และจะส่ง AssertionError หากเป็นเท็จ ฟังก์ชัน assert() ถูกกำหนดดังนี้ −
ไวยากรณ์
for PHP 5 and PHP 7 assert ( mixed $assertion [, string $description ] ) : bool PHP 7 only assert ( mixed $assertion [, Throwable $exception ] ) : bool
พารามิเตอร์
Sr.No | พารามิเตอร์ &คำอธิบาย |
---|---|
1 | การยืนยัน นิพจน์สตริงหรือบูลีน |
2 | คำอธิบาย mssage ล้มเหลว |
3 | ข้อยกเว้น (สำหรับ PHP 7 เท่านั้น) วัตถุที่ขว้างปาได้ |
ตั้งแต่ PHP 7.0 ตอนนี้ assert() เป็นโครงสร้างภาษาและไม่ใช่ฟังก์ชัน คำยืนยัน ขณะนี้พารามิเตอร์สามารถเป็นนิพจน์และพารามิเตอร์ที่สองเป็นข้อยกเว้นหรือคำอธิบาย ตั้งแต่ PHP 7.2 เป็นต้นไป คำอธิบายสตริงจะปล่อย E_DEPRECATED ข้อความ. AssertionError ที่ส่งโดย assert() จะถูกส่งไปบล็อก catch เฉพาะเมื่อ asser.exception=on เปิดใช้งานใน php.ini
ตัวอย่างการยืนยันข้อผิดพลาด
ในตัวอย่างนี้ เรายืนยันว่าเงื่อนไขเป็นจริง ลองดำเนินการบล็อกตามปกติ หากเป็นเท็จ ข้อความ AssertionError จะแสดงจากบล็อก catch
ตัวอย่าง
<?php $a=10; $b=20; try { if (assert($a == $b, "assert($a == $b) failed.")) { echo("assert($a == $b) was successful."); } } catch (AssertionError $e) { echo $e->getMessage(); } ?>
ผลลัพธ์
สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -
assert(10 == 20) failed.