208 of 410 menu

ฟังก์ชัน preg_last_error

ฟังก์ชัน preg_last_error ส่งกลับรหัสข้อผิดพลาดล่าสุด ที่เกิดขึ้นระหว่างการทำงานกับฟังก์ชันที่ใช้สำหรับนิพจน์ทั่วไป สิ่งนี้มีประโยชน์สำหรับการดีบักนิพจน์ทั่วไป เมื่อฟังก์ชัน เช่น preg_match หรือ preg_replace ส่งกลับ false ฟังก์ชันนี้ไม่รับพารามิเตอร์

ฟังก์ชันส่งกลับรหัสข้อผิดพลาดเป็นจำนวนเต็ม เพื่อความสะดวก สามารถเปรียบเทียบรหัสข้อผิดพลาด กับค่าคงที่พิเศษ (ดูตารางด้านล่าง)

ไวยากรณ์

preg_last_error(): int;

ตารางค่าคงที่ข้อผิดพลาด

ค่าคงที่ ค่า คำอธิบาย
PREG_NO_ERROR 0 ไม่มีข้อผิดพลาดเกิดขึ้น
PREG_INTERNAL_ERROR 1 ข้อผิดพลาดภายในของ PCRE
PREG_BACKTRACK_LIMIT_ERROR 2 เกินขีดจำกัดการย้อนรอย (backtrack limit)
PREG_RECURSION_LIMIT_ERROR 3 เกินขีดจำกัดการเรียกซ้ำ
PREG_BAD_UTF8_ERROR 4 ข้อมูล UTF-8 ไม่ถูกต้อง
PREG_BAD_UTF8_OFFSET_ERROR 5 ออฟเซ็ตไม่ตรงกับจุดเริ่มต้นของรหัส UTF-8 ที่ถูกต้อง
PREG_JIT_STACKLIMIT_ERROR 6 เกินขีดจำกัดสแตกของคอมไพเลอร์ JIT

ตัวอย่าง

ตรวจสอบข้อผิดพลาดหลังจากนิพจน์ทั่วไปที่ไม่ถูกต้อง:

<?php preg_match('/invalid(regex/', 'test'); $error_code = preg_last_error(); echo $error_code; ?>

ผลลัพธ์ของการดำเนินการโค้ด:

4

ตัวอย่าง

การใช้กับค่าคงที่ข้อผิดพลาด PCRE:

<?php preg_match('/(?:\D+/', 'abc123'); if (preg_last_error() === PREG_BACKTRACK_LIMIT_ERROR) { echo 'Backtrack limit was exhausted'; } ?>

ผลลัพธ์ของการดำเนินการโค้ด:

'Backtrack limit was exhausted'

ดูเพิ่มเติม

  • ฟังก์ชัน preg_match,
    ซึ่งทำการค้นหาตามนิพจน์ทั่วไป
  • ฟังก์ชัน preg_replace,
    ซึ่งทำการแทนที่ตามนิพจน์ทั่วไป
  • ฟังก์ชัน preg_quote,
    ซึ่งทำการหนีอักขระพิเศษในนิพจน์ทั่วไป
ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ