迁移到 PHP8
Migration to PHP8
我有旧 PHP 的代码。
但是当我试图通过 PHP 8.
来执行它时
第一个代码是:
我有错误:
Fatal error: Array and string offset access syntax with curly braces
is no longer supported in **** on line 550
在线:
for ($i = 0; $i < strlen($text); $i++) $res .= ord($text{$i}) . "-";
我改成了:
for ($i = 0; $i < strlen($text); $i++) $res .= ord($text[$i]) . "-";
但是我还有一个错误:
Warning: Trying to access array offset on value of type bool in ***
on line 76
在线:
$real = $row['sip'];
我不知道 - 如何重写这个字符串。
你能帮帮我吗?
问题是您正试图像访问数组一样访问布尔值。
我想 $row 是一个查询的结果,而那个查询没有 return 任何匹配的行,所以它是错误的。
在访问之前检查 $row 是否为假。
<?php
$row = false;
echo $row['test'];
这个 return 那个警告。
根据你的评论,这取决于你想做什么。
如果存在 return 值,如果不存在?
if($row){
// if it contains something, do something with it
}else{
// do something else if it doesn't
}
我不知道你的代码流程是怎样的,所以我真的帮不了你,只是检查 $row 变量是否不为 false
我有旧 PHP 的代码。 但是当我试图通过 PHP 8.
来执行它时第一个代码是:
我有错误:
Fatal error: Array and string offset access syntax with curly braces is no longer supported in **** on line 550
在线:
for ($i = 0; $i < strlen($text); $i++) $res .= ord($text{$i}) . "-";
我改成了:
for ($i = 0; $i < strlen($text); $i++) $res .= ord($text[$i]) . "-";
但是我还有一个错误:
Warning: Trying to access array offset on value of type bool in *** on line 76
在线:
$real = $row['sip'];
我不知道 - 如何重写这个字符串。
你能帮帮我吗?
问题是您正试图像访问数组一样访问布尔值。
我想 $row 是一个查询的结果,而那个查询没有 return 任何匹配的行,所以它是错误的。
在访问之前检查 $row 是否为假。
<?php
$row = false;
echo $row['test'];
这个 return 那个警告。
根据你的评论,这取决于你想做什么。
如果存在 return 值,如果不存在?
if($row){
// if it contains something, do something with it
}else{
// do something else if it doesn't
}
我不知道你的代码流程是怎样的,所以我真的帮不了你,只是检查 $row 变量是否不为 false