如何调试'抛出TypeError-不支持的操作数类型:字符串/浮点数“|升级到PHP 8.1时

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

由于我不是一个有经验的PHP / WordPress开发人员,我希望你们中的一个能给我指出正确的方向。
这是一个完整的自定义主题,在php 7.4上运行良好,但当我将php版本升级到8.0或8.1时,网站就崩溃了。只有导航功能还在工作,并且在主体中显示:

抛出TypeError-不支持的操作数类型:字符串/浮点

我做了一点研究,发现它与混合变量类型和如何解决它有关。不幸的是,我不知道是哪个变量导致了这个问题。
我试着禁用所有的插件,这给了我同样的结果,所以问题一定是在主题本身。
我尝试的最后一件事是粘贴每个主题相关的代码在这个棉绒工具:https://phpcodechecker.com/
那也没给予我任何线索。
我希望任何人都能给予我一个解决方案来检测原因,因为我们的托管合作伙伴很快就会停止支持php 7. 4。

pgky5nke

pgky5nke1#

在使用变量之前,您始终可以对其进行强制转换。
之前:

$a = '10' / 5.5;
$a = $b/$c;
$a = strlen(12345);

之后:

$a = (float)'10' / 5.5;
$a = (int)$b/(int)$c;
$a = strlen((string)12345);

请在此处详细查看:https://www.php.net/manual/en/language.types.type-juggling.php
这边也回答道:TypeError: "Unsupported operand types: string * float"

相关问题