我在PHP5.6中创建了数组,PHP7.1中的[]给出了致命错误

0tdrvxhp  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(229)

在PHP5.6中,这项工作正常,但在PHP7.1中会出现致命错误:未捕获错误:[]字符串不支持运算符

$result->execute();
$result->bind_result($id, $name);   
while($result->fetch()){
    $datos[]=array(
        $id => $name
    );
}
k2arahey

k2arahey1#

从PHP7.1开始,当您访问一个非数组变量(在本例中是一个字符串)如数组时,将抛出一个致命错误。
首先初始化数组,使用 $datos = []; . 这将覆盖先前设置的任何内容,并将此变量显式设置为数组:

$result->execute();
$result->bind_result($id, $name);
$datos = [];
while($result->fetch()){
    $datos[]=array(
        $id => $name
    );
}

如果你想创建一个 $id => $name ,应使用以下代码:

$result->execute();
$result->bind_result($id, $name);
$datos = [];
while($result->fetch()){
    $datos[ $id ] = $name;
}

相关问题