PHP foreach 循环使用"&$val" 地址符“&”

Posted 御世制人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP foreach 循环使用"&$val" 地址符“&”相关的知识,希望对你有一定的参考价值。

在熟悉项目代码的时候 看到这样的foreach 循环:

             foreach($data as &$val){

                                     ....

             }

  第一次看到循环里面使用了地址符“&”,我印象中的这个符号 是直接取到了这个变量的地址。

然后里面的循环操作,相对来说是高大上了点,比如说下面的例子:

      我现在有一个需求 给一个数组添加一个元素,经常会有这种需求
     商品统计:商品价格、商品销售数量
    需求是 想统计出商品总收入  

     $arr = array( array(‘price‘ =>10 , ‘count‘ => 100 ),  array(‘price‘ =>20 , ‘count‘ => 90 )  )

   不用再用一个新的数组来存放结果 这里直接插入到旧的数组 变成新的数组

    foreach ($arr as &$val) {

          $val[‘total‘]=$val[‘price‘]*$val[‘count‘];

   }

其实和下面的代码没啥区别:

  foreach ($arr as $k=>$val) {
      $arr[$k][‘total‘]=$val[‘price‘]*$val[‘count‘];
   }

但是就觉得逼格可能高点。





以上是关于PHP foreach 循环使用"&$val" 地址符“&”的主要内容,如果未能解决你的问题,请参考以下文章

PHP foreach 循环使用"&$val" 地址符“&”

请问php中如何用for循环遍历出关联数组,不要用foreach,用for循环哦

关于PHP中foreach循环修改数组值失效的问题

使用 PHP 数组输出 MySQL 查询 - foreach 循环错误“非法偏移”和“无效参数”

在两个 foreach 循环中使用“继续 2”时 php 5.5 内存泄漏?

PHP“继续”停止 foreach 循环