我有来自旧PHP的代码。但是当我试图用PHP 8执行它时。
第一个守则是:
我犯了错误:
致命错误:第550行中不再支持带大括号的数组和字符串偏移访问语法。
在线:
for ($i = 0; $i < strlen($text); $i++) $res .= ord($text{$i}) . "-";我把它改成:
for ($i = 0; $i < strlen($text); $i++) $res .= ord($text[$i]) . "-";但我又犯了一个错误:
警告:尝试访问第76行*中类型bool值的数组偏移量
在线:
$real = $row['sip'];我不知道怎么重写这个字符串。
你能帮帮我吗?
发布于 2022-04-10 15:58:51
问题是,您正在尝试访问布尔值,就像对数组所做的那样。
我认为$row是查询的结果,并且该查询不返回任何匹配的行,因此它是假的。
在访问$row之前,只需检查它是否为false。
<?php
$row = false;
echo $row['test'];这会返回警告。
根据你的评论,这取决于你想做什么。
如果存在,则返回值,如果不返回?
if($row){
// if it contains something, do something with it
}else{
// do something else if it doesn't
}我不知道您的代码流是什么,所以我不能真正帮助您,这只是检查一下$row变量是否是假的
https://stackoverflow.com/questions/71818211
复制相似问题