PHP 8 ใช้ข้อยกเว้นในตัวใหม่ ValueError . PHP แสดงข้อยกเว้นนี้เมื่อเราส่งค่าไปยังฟังก์ชันซึ่งมีประเภทที่ถูกต้อง แต่ไม่สามารถใช้ในการดำเนินการได้ ใน PHP เวอร์ชันก่อนหน้า เราเคยได้รับ ข้อผิดพลาดคำเตือน ในกรณีดังกล่าว แต่ PHP 8 จะแสดง ValueError .
ตัวอย่าง:ValueError ใน PHP 8
<?php
declare(strict_types=1);
array_rand([1,2,3], 0);
json_decode('{}', true, -1);
?> ผลลัพธ์
Fatal error: Uncaught ValueError: array_rand(): Argument #1 ($array) cannot be empty
ตัวอย่าง
<?php
$x = strpos("h", "hello", 16);
var_dump($x);
?> ผลลัพธ์
bool(false)
ตัวอย่าง:ValueError ใน PHP 8
<?php
$x = strpos("h", "hello", 16);
var_dump($x);
?> ผลลัพธ์
Fatal error: Uncaught ValueError: array_rand(): Argument #1 ($array) cannot be empty