我刚刚开始升级我的代码以兼容 php 8.1。我有很多代码段,其中我将潜在的空值传递给内部函数。
if (strlen($row) > 0) {
...
}
其中 $row 来自可能具有空值的源(例如查询)。
我正在寻找处理升级此代码的最简单、最省时的方法,例如修复可以进行全局搜索和替换的地方。似乎将我传递给内部函数的变量进行类型转换可以在不改变功能的情况下工作。
error_reporting(E_ALL);
$row = null;
if (strlen((string) $row) > 0) {
...
}
除了以这种方式编码的道德方面之外,这种内部功能的方法是否存在问题?有没有更好的方法(除了完全重写代码和以不同的方式处理空值)?我更喜欢这个向后兼容 v7.4 的解决方案,尽管我可能会接受 8.0 的兼容性。
我知道我的用户定义函数还有其他选择。