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


PHP 8 使用新的内置异常 ValueError。当我们将某个类型有效但不可用于操作的值传递给函数时,PHP 就会抛出这个异常。在较早的 PHP 版本中,我们在此类情况下会收到一个 警告错误,但 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

更新于: 2021-04-01

431 次浏览

开启你的 职业生涯

完成课程获得认证

开始
广告