PHP 8 – 如何使用 ValueError 检查遇到的值是否为正确类型?

phpserver side programmingprogramming更新于 2025/8/5 3:07:17

PHP 8 使用了一个新的内置异常 ValueError。当我们将一个值传递给一个函数,而该值具有有效的类型但无法用于操作时,PHP 会抛出此异常。在早期版本的 PHP 中,这种情况通常会引发 Warning 错误,但 PHP 8 会显示 ValueError。

示例:PHP 8 中的 ValueError

<?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)

示例:PHP 8 中的 ValueError

<?php
   $x = strpos("h", "hello", 16);
   var_dump($x);
?>

输出

Fatal error: Uncaught ValueError: array_rand(): Argument #1 ($array) cannot be empty

相关文章