php foreach地址符,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 ($arras $k=>$val) {

$arr[$k]['total']=$val['price']*$val['count'];

}

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

PHP删除数组中空值的方法介绍

笨方法:

foreach( $arr as $k=>$v){

if( !$v )

unset( $arr[$k] );

}

?>

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

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

$entry = array(

0 => 'foo',

1 => false,

2 => -1,

3 => null,

4 => ''

);

print_r(array_filter($entry));

?>

输出值为:

Array

(

[0] => foo

[2] => -1

)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值