在PHP 5.6中这可以正常工作,但在PHP 7.1中会出现致命错误:未捕获的错误:字符串不支持[]运算符
$result->execute(); $result->bind_result($id, $name); while($result->fetch()){ $datos[]=array( $id => $name ); }
unhi4e5o1#
从PHP 7.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; }
wrrgggsh2#
$cat_arr = explode(',',$row['category']); if (!$cat_arr[0]){ $my_cat = '<font color="#b1b0b0">Sem Seção</font>'; } elseif (!$cat[$cat_arr[0]]){ $my_cat = '<font color="#d50d0d">'.$echo['wrongCatID'].'</font>'; } else { $my_cat = ''; foreach($cat_arr as $tmp_cat){ $my_cat[] = $cat[$tmp_cat]; } $my_cat = join(', ', $my_cat); }
此行错误:$我的猫[] = $猫[$临时猫];有人能帮我纠正这个错误吗?在php7中可以,在php7.1中有错误
2条答案
按热度按时间unhi4e5o1#
从PHP 7.1开始,当你像访问数组一样访问一个非数组变量(在本例中是一个字符串)时,会抛出一个致命错误。
首先用
$datos = [];
初始化数组,这将覆盖之前设置的所有内容,并显式地将此变量设置为数组:如果你试图创建一个
$id
=〉$name
的数组,下面的代码应该可以工作:wrrgggsh2#
此行错误:$我的猫[] = $猫[$临时猫];
有人能帮我纠正这个错误吗?
在php7中可以,在php7.1中有错误