PHP中数组`+`运算符
短信预约 -IT技能 免费直播动态提醒
原代码:
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
的元素。
来源地址:https://blog.csdn.net/wen854854321/article/details/130882380
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341