在PHP5.6中,这项工作正常,但在PHP7.1中会出现致命错误:未捕获错误:[]字符串不支持运算符
$result->execute(); $result->bind_result($id, $name); while($result->fetch()){ $datos[]=array( $id => $name ); }
k2arahey1#
从PHP7.1开始,当您访问一个非数组变量(在本例中是一个字符串)如数组时,将抛出一个致命错误。首先初始化数组,使用 $datos = []; . 这将覆盖先前设置的任何内容,并将此变量显式设置为数组:
$datos = [];
$result->execute(); $result->bind_result($id, $name); $datos = []; while($result->fetch()){ $datos[]=array( $id => $name ); }
如果你想创建一个 $id => $name ,应使用以下代码:
$id
$name
$result->execute(); $result->bind_result($id, $name); $datos = []; while($result->fetch()){ $datos[ $id ] = $name; }
1条答案
按热度按时间k2arahey1#
从PHP7.1开始,当您访问一个非数组变量(在本例中是一个字符串)如数组时,将抛出一个致命错误。
首先初始化数组,使用
$datos = [];
. 这将覆盖先前设置的任何内容,并将此变量显式设置为数组:如果你想创建一个
$id
=>$name
,应使用以下代码: