1. 程式人生 > >PHP foreach 循環使用"&$val" 地址符“&”

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

數組 新的 直接 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" 地址符“&”