0

0

PHP函数应用之数组合并

WBOY

WBOY

发布时间:2023-06-20 11:24:24

|

1980人浏览过

|

来源于php中文网

原创

在php编程中,数组(array)是一种非常常用的数据类型。 php中提供了很多用于操作数组的函数,包括数组合并(marge)函数。数组合并是指将两个或多个数组中的元素合并到一个数组中。在本文中,我们将介绍php中的数组合并函数以及其应用。

  1. array_merge()
    array_merge()函数是PHP中最基本的数组合并函数,它将两个或多个数组的元素合并到一个数组中。其使用方法如下:
mixed array_merge ( array $array1 [, array $... ] )

其中,参数array1表示要合并的第一个数组,后面的参数$...表示要合并的其他数组。例如:

$arr1 = array('apple', 'banana');
$arr2 = array('cat', 'dog', 'elephant');
$result = array_merge($arr1, $arr2);
print_r($result);

上述代码的输出结果为:

Array
(
  [0] => apple
  [1] => banana
  [2] => cat
  [3] => dog
  [4] => elephant
)

从结果可以看出,函数array_merge()将两个数组$arr1和$arr2中的元素合并到了一个新的数组$result中,并按照原有的顺序排列。

需要注意的是,如果合并的数组中存在相同的键名(key),则后面的值将覆盖前面的值。例如:

立即学习PHP免费学习笔记(深入)”;

$arr1 = array('a' => 'apple', 'b' => 'banana');
$arr2 = array('a' => 'orange', 'c' => 'cherry');
$result = array_merge($arr1, $arr2);
print_r($result);

上述代码的输出结果为:

Array
(
  [a] => orange
  [b] => banana
  [c] => cherry
)

从结果可以看出,数组$arr2中的键名'a'覆盖了数组$arr1中的键名'a',同时没有合并键名'b'和'c'的值。

  1. array_merge_recursive()
    与array_merge()函数类似,array_merge_recursive()函数也是用于合并数组的函数。其不同之处在于,它会处理多维数组并将相同键名的值以递归方式合并到一个数组中。其使用方法如下:
mixed array_merge_recursive ( array $array1 [, array $... ] )

例如:

$arr1 = array('a' => array('apple'), 'b' => array('banana'));
$arr2 = array('a' => array('orange'), 'c' => array('cherry'));
$result = array_merge_recursive($arr1, $arr2);
print_r($result);

上述代码的输出结果为:

Array
(
  [a] => Array
    (
      [0] => apple
      [1] => orange
    )
  [b] => Array
    (
      [0] => banana
    )
  [c] => Array
    (
      [0] => cherry
    )
)

从结果可以看出,键名'a'对应的值是一个数组,在合并时,函数array_merge_recursive()会将数组中的值进行递归合并。

需要注意的是,如果合并的数组中存在相同的键名,它们的值将被合并成一个数组。例如:

PHP5 和 MySQL 圣经
PHP5 和 MySQL 圣经

本书是全面讲述PHP与MySQL的经典之作,书中不但全面介绍了两种技术的核心特性,还讲解了如何高效地结合这两种技术构建健壮的数据驱动的应用程序。本书涵盖了两种技术新版本中出现的最新特性,书中大量实际的示例和深入的分析均来自于作者在这方面多年的专业经验,可用于解决开发者在实际中所面临的各种挑战。

下载
$arr1 = array('a' => array('apple'), 'b' => array('banana'));
$arr2 = array('a' => array('orange'), 'b' => array('cherry'));
$result = array_merge_recursive($arr1, $arr2);
print_r($result);

上述代码的输出结果为:

Array
(
  [a] => Array
    (
      [0] => apple
      [1] => orange
    )
  [b] => Array
    (
      [0] => banana
      [1] => cherry
    )
)

从结果可以看出,键名'a'对应的值是一个数组,在合并时,函数array_merge_recursive()会将数组中的值递归合并。而对于键名'b',由于存在相同的键名,因此它们的值将被合并成一个数组。

  1. array_replace()
    array_replace()函数也是用于合并数组的函数。与array_merge()函数不同的是,它会用一个数组的值覆盖另一个数组相同键名的值。其使用方法如下:
mixed array_replace ( array $array1, array $array2 [, array $... ] )

其中,参数$array1表示要被替换的数组,参数$array2表示替换用的数组,$...表示其他替换用的数组。例如:

$arr1 = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry');
$arr2 = array('a' => 'orange', 'd' => 'durian');
$result = array_replace($arr1, $arr2);
print_r($result);

上述代码的输出结果为:

Array
(
  [a] => orange
  [b] => banana
  [c] => cherry
  [d] => durian
)

从结果可以看出,函数array_replace()将数组$arr1中键名为'a'的值'apple'替换成了数组$arr2中键名为'a'的值'orange'。

需要注意的是,当用一个数组来替换另一个数组时,如果数组中存在相同键名的值,则后面的值将覆盖前面的值。例如:

$arr1 = array('a' => 'apple', 'b' => 'banana');
$arr2 = array('a' => 'orange', 'b' => 'cherry');
$result = array_replace($arr1, $arr2);
print_r($result);

上述代码的输出结果为:

Array
(
  [a] => orange
  [b] => cherry
)

从结果可以看出,函数array_replace()将数组$arr2中键名为'a'的值'orange'替换掉了数组$arr1中的值'apple',将键名为'b'的值'cherry'替换掉了数组$arr1中的值'banana'。

综上所述,数组合并在PHP编程中是非常常用的操作。通过array_merge()、array_merge_recursive()和array_replace()这几个PHP数组合并函数,可以实现数组的合并和替换操作,方便PHP编程。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
数据类型有哪几种
数据类型有哪几种

数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

309

2023.10.31

php数据类型
php数据类型

本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

222

2025.10.31

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

1

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

1

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

0

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

0

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

3

2026.01.29

clawdbot ai使用教程 保姆级clawdbot部署安装手册
clawdbot ai使用教程 保姆级clawdbot部署安装手册

Clawdbot是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

24

2026.01.29

clawdbot龙虾机器人官网入口 clawdbot ai官方网站地址
clawdbot龙虾机器人官网入口 clawdbot ai官方网站地址

clawdbot龙虾机器人官网入口:https://clawd.bot/,clawdbot ai是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

16

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 8万人学习

Django 教程
Django 教程

共28课时 | 3.6万人学习

Excel 教程
Excel 教程

共162课时 | 14.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号