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

PHP foreach 循环使用"&$val" 地址符“&”,第1张

概述在熟悉项目代码的时候看到这样的foreach循环:       foreach($data as &$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删除数组中空值的方法介绍

笨方法:

<?PHP   
foreach( $arr as $k=>$v){   
    if( !$v )   
        unset( $arr[$k] );   
}   
?>

array_filter函数的功能是利用回调函数来对数组进行过滤,一直都以为用回调函数才能处理,却没有发现手册下面还有一句,

如果没有回调函数,那么默认就是删除数组中值为false的项目。

<?PHP   

$entry = array(   
             0 => 'foo',   
             1 => false,   
             2 => -1,   
             3 => null,   
             4 => ''  
          );   

print_r(array_filter($entry));   
?>

输出值为:

Array   
(   
    [0] => foo   
    [2] => -1   
)  

所以说手册是个好东西,可惜我没看

总结

以上是内存溢出为你收集整理的PHP foreach 循环使用"&$val" 地址符“&”全部内容,希望文章能够帮你解决PHP foreach 循环使用"&$val" 地址符“&”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1001434.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存