今天在项目中用php foreach数据库查询结果时,为了方便没有判断数据是否存在,直接用(array)强制转换数据时,刚开始网页始终打不开,就报502,一头懵,突然间php报“Cannot create references to elements of a temporary array expression”,找到报错行,原始代码如下:

foreach ((array) $net_arr as $k => &$val) {
    $network[$val['node_ip']][$val['ifname']] = $val;
}

 

后来改成如下代码 ,一切恢复正常。

if (!empty($net_arr)) {
    foreach ($net_arr as $k => &$val) {
        $network[$val['node_ip']][$val['ifname']] = $val;
    }
}

 

网上搜索一下,只在 http://www.laruence.com/2008/11/20/630.html [风雪之隅] 的博客找到一行php源码中报错语句描述,具体是什么原因没有细究,记录以提示自己以后写代码要严谨,一步一步写!!!

相关文章:

  • 2021-07-13
  • 2022-12-23
  • 2021-12-16
  • 2021-09-17
  • 2021-08-30
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-07-24
  • 2022-12-23
  • 2022-12-23
  • 2022-01-26
  • 2022-01-10
  • 2021-06-12
相关资源
相似解决方案