php foreach 报 “Cannot create references to elements of a temporary array expression”

Posted gentsir

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php foreach 报 “Cannot create references to elements of a temporary array expression”相关的知识,希望对你有一定的参考价值。

今天在项目中用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源码中报错语句描述,具体是什么原因没有细究,记录以提示自己以后写代码要严谨,一步一步写!!!

以上是关于php foreach 报 “Cannot create references to elements of a temporary array expression”的主要内容,如果未能解决你的问题,请参考以下文章

java foreach 空list会不会报错?

PHP的foreach标签

深入解析php中的foreach问题

php 将多个txt文件合并成

PHP中foreach函数用法?

php foreach为啥比for效率高