PHP合并多个数组

时间:2022-09-03 17:26:44
代码这东西,好多以前熟悉的东西,不笔记,都忘记了!这也是我写博客的原因!笔记下来,今天再次碰到个简单的问题,居然都不会了...(好久不看基础的原因吧,忘的干干净净...)

简述下场景:
平常的城市切换:热门城市。北、上、广、深,以及山西、河北的所有城市。
城市ID作为键,城市名作为值。
$bsgs_citys = [
'3585' => '北京',
'3587' => '上海',
'321' => '广州',
'323' => '深圳',
];
$hebei_citys = [
'11' => '石家庄',
'22' => '保定',
...
];
$shanxi_citys = [
'333' => '太原',
'444' => '运城',
...
];

作为数组合并,一般想到的直接是,PHP数组函数:
array_merge()// 合并
array_merge_recursive()// 递归合并

对于 '关联数组',后面的同名键,覆盖之前的。
对于 '索引数组',直接从 0 开始(我之前没注意)

所以,对于 '索引数组',想完全保留之前的键名,直接使用 '+' 运算符(手册的例子就有!真的忘的太快了!)
$bsgs_citys + $hebei_citys + $shanxi_citys

对于 '递归合并',之前也碰到了,和想象中的不一样,自己使用foreach()简单实现了下,想不起当时出现的问题了。。mark一下:
common.php -> add_wechat_template_message() 方法