PHP合并多个数组

本文介绍了一个常见的PHP编程问题——如何正确地合并多个关联数组。通过实际案例解释了使用array_merge()、array_merge_recursive()以及+运算符的区别,并分享了一种递归合并的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

简述下场景:
	平常的城市切换:热门城市。北、上、广、深,以及山西、河北的所有城市。
	城市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() 方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值