array 数组-合并,连接-变形转换-的多种方式 php

1)PHP合并数组+与array_merge array_merge_recursive 的区别分析

键名为数字

  array_merge()不会覆盖掉原来的值,如果数组是数字键名的,则键名会以连续方式重新索引,即后面的值将不会覆盖原来的值,而是附加到后面。

  但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)

 ######

键名为字符

  +仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,

  但array_merge()此时会覆盖掉前面相同键名的值

  + 存在相同键值,保留前面的数据;array_merge 保留后面的数据。

######

array_merge_recursive()

 array_merge() 函数之间的不同是在处理两个或更多个数组元素有相同的键名的情况。

array_merge_recursive() 不会进行键名覆盖,而是将多个相同键名的值递归组成一个数组。

参考网址:

https://www.jb51.net/article/24438.htm

https://www.cnblogs.com/zhuiluoyu/p/6862897.html

######

2)数组连接 array_combine()

array_combine() 函数通过合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组的元素为键值。【键名数组和键值数组的元素个数必须相同!】

array_push()函数是用来向数组末尾插入一个或多个元素。array_push()函数的返回值为新数组的元素个数。

######

3)数组交集,转化,差异及差集

array_intersect_key() 函数用于比较两个(或更多个)数组的键名 ,并返回交集。
array_flip() 函数返回一个反转后的数组,如果同一值出现了多次,则最后一个键名将作为它的值,所有其他的键名都将丢失
array_diff_assoc() 函数用于比较两个(或更多个)数组的键名和键值 ,并返回差集。
array_diff() 函数用于比较两个(或更多个)数组的值,并返回差集

原文地址:https://www.cnblogs.com/sien6/p/13893195.html