PHP中数组`+`运算符

原代码:

foreach($result as $item){
    $ret[$item['fid']]["{$time}_num"] = $item['num'] ?? 0;
    $ret[$item['fid']]["{$time}_money"] = $item['money'] ?? 0;
    $ret[$item['fid']]["{$time}_ml"] = $item['ml'] ?? 0;
}

优化后的代码 

$key_prefix = "{$time}_";
$ret[$item['fid']] = [
      'fid' => $item['fid'],
      $key_prefix . 'num' => $item['num'] ?? 0,
      $key_prefix . 'money' => $item['money'] ?? 0,
      $key_prefix . 'ml' => $item['ml'] ?? 0
   ] + ($ret[$item['fid']] ?? []);

 解释:

$array1 = array("a" => "apple", "b" => "banana");
$array2 = array("b" => "blueberry", "c" => "cherry");

$result = $array1 + $array2;

print_r($result);
输出:Array ( [a] => apple [b] => banana [c] => cherry )

在上面的示例中,由于$array1数组中已经存在键名为b的元素,所以$array2中的b元素被忽略,并且合并后的结果数组中只保留了键名为b对应的值为banana的元素。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值