PHP 8 sử dụng một ngoại lệ tích hợp mới ValueError . PHP ném ra ngoại lệ này khi chúng ta truyền một giá trị cho một hàm có kiểu hợp lệ nhưng không thể được sử dụng để hoạt động. Trong các phiên bản PHP trước đây, chúng tôi đã từng gặp Lỗi cảnh báo trong những trường hợp như vậy, nhưng PHP 8 sẽ hiển thị ValueError .
Ví dụ:ValueError trong PHP 8
<?php declare(strict_types=1); array_rand([1,2,3], 0); json_decode('{}', true, -1); ?>
Đầu ra
Fatal error: Uncaught ValueError: array_rand(): Argument #1 ($array) cannot be empty
Ví dụ
<?php $x = strpos("h", "hello", 16); var_dump($x); ?>
Đầu ra
bool(false)
Ví dụ:ValueError trong PHP 8
<?php $x = strpos("h", "hello", 16); var_dump($x); ?>
Đầu ra
Fatal error: Uncaught ValueError: array_rand(): Argument #1 ($array) cannot be empty