博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP foreach 循环使用"&$val" 地址符“&”
阅读量:6613 次
发布时间:2019-06-24

本文共 893 字,大约阅读时间需要 2 分钟。

在熟悉项目代码的时候 看到这样的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   
)  

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

转载于:https://www.cnblogs.com/yszr/p/9092641.html

你可能感兴趣的文章
Intel Atom移动处理器惨败,还被用户和经销商起诉
查看>>
《深入理解Nginx:模块开发与架构解析》一3.10 小结
查看>>
Tego推出TegoOS系统,助力资产管理方案部署
查看>>
支付宝的“圈子”,阿里做社交的背水一战
查看>>
英国皇家海军潜艇系统曝光:Windows XP潜艇版
查看>>
脑洞炸开:阿里巴巴能源云计划PPT外泄
查看>>
CCAI 2017 | 香港智能金融联合创始人兼CEO柳崎峰:金融机构的市场机遇与实践
查看>>
大数据城市网络安全指数在贵阳发布
查看>>
智能家居行业高速发展期来临,扫除瓶颈障碍是关键
查看>>
光伏行业何时方能走出补贴的“襁褓”?
查看>>
IBM上半年新增3万名员工 已有7万人使用Mac办公
查看>>
2020年全球以太网交换机市场将超260亿美元
查看>>
自动化测试方式策略分析
查看>>
docker(14):centos7 安装docker hub harbor,可视化registry
查看>>
你以为 Snapchat 做的是社交,但它却说自己是一家相机公司
查看>>
2017年智能交通市场三个看点
查看>>
Server2016虚拟机安装(评估版升级正式版、180天评估版升级)
查看>>
飞机维修领域,RFID技术作用巨大
查看>>
Slack 是如何变成史上增长最逆天的企业级应用的?
查看>>
十分简单的redis使用说明及性能测试
查看>>