substr():不推荐将null传递给string类型的参数#1($string)?为什么是PHP 8.1

slmsl1lt  于 2022-11-21  发布在  PHP
关注(0)|答案(1)|浏览(672)

我有这个代码PHP在我的文件

function getH1()
{
    $h1 = callDescriptor('h1');
    return ucfirst(substr($h1, 0, 56));
}

升级到PHP 8.1后,我得到了这个错误消息:

Deprecated
    
substr(): Passing null to parameter #1 ($string) of type string is deprecated

有人有想法吗?
降级到PHP 8.0的效果相同

hfyxw5xn

hfyxw5xn1#

在某些情况下,$h1的值为null,不允许在substr方法内部传递该值。请在处理该值之前检查它。

$h1 = callDescriptor('h1');
if ($h1 !== null) {
  return ucfirst(substr($h1, 0, 56));
}

//otherwise return something else

相关问题