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
广告