PHP foreach 循環使用"&$val" 地址符“&”
阿新 • • 發佈:2018-05-26
數組 新的 直接 amp 個數 data style strong clas
在熟悉項目代碼的時候 看到這樣的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" 地址符“&”