php拼接循环拼接字符串数组,PHP数组拼接

php拼接循环拼接字符串数组,PHP数组拼接最近的工作中老是要遇到将两个数组进行拼接的操作。下面总结一下数组拼接的几个函数及它们的不同点。PHP中两个数组合并可以使用+或者array_merge,但之间还是有区别的,而且这些区别如果了解不清楚项目中会要命的!主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意。1)键名为数字时,array_merge()后面的值将不会覆盖原来的值,而是附加到后面,但+合并数组则会把…

大家好,又见面了,我是你们的朋友全栈君。

最近的工作中老是要遇到将两个数组进行拼接的操作。下面总结一下数组拼接的几个函数及它们的不同点。

PHP中两个数组合并可以使用+或者array_merge,但之间还是有区别的,而且这些区别如果了解不清楚项目中会要命的!

主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意。

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

2)键名为字符串时,array_merge()此时会覆盖掉前面相同键名的值,但+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)。

总结一句就是,用+拼接时,键名一样时只认先出现的(前任),用array_merge拼接时,键名一样时,分键名为数字还是字符串(看脸),数字时不覆盖,字符串时会覆盖原来的值(字符串比较丑,数字比较漂亮)。

实例:

$a

=

array

(

‘a’

,

‘b’

);

$b

=

array

(

‘c’

,

‘d’

);

$c

=

$a

+

$b

;

var_dump(

$a

);

var_dump(

array_merge

(

$a

,

$b

));

//输出:

array

0 => string

‘a’

(length=1)

1 => string

‘b’

(length=1)

array

0 => string

‘a’

(length=1)

1 => string

‘b’

(length=1)

2 => string

‘c’

(length=1)

3 => string

‘d’

(length=1)

++++++++++++++++++++++++++++++++++++++++++

$a

=

array

(

0 =>

‘a’

,

1 =>

‘b’

);

$b

=

array

(

0 =>

‘c’

,

1 =>

‘b’

);

$c

=

$a

+

$b

;

var_dump(

$c

);

var_dump(

array_merge

(

$a

,

$b

));

//输出:

array

0 => string

‘a’

(length=1)

1 => string

‘b’

(length=1)

array

0 => string

‘a’

(length=1)

1 => string

‘b’

(length=1)

2 => string

‘c’

(length=1)

3 => string

‘b’

(length=1)

++++++++++++++++++++++++++++++++++++++++++

$a

=

array

(

‘a’

,

‘b’

);

$b

=

array

(

‘0’

=>

‘c’

,

1 =>

‘b’

);

$c

=

$a

+

$b

;

var_dump(

$c

);

var_dump(

array_merge

(

$a

,

$b

));

//输出:

array

0 => string

‘a’

(length=1)

1 => string

‘b’

(length=1)

array

0 => string

‘a’

(length=1)

1 => string

‘b’

(length=1)

2 => string

‘c’

(length=1)

3 => string

‘b’

(length=1)

++++++++++++++++++++++++++++++++++++++++++

$a

=

array

(

0 =>

‘a’

,

1 =>

‘b’

);

$b

=

array

(

‘0’

=>

‘c’

,

‘1’

=>

‘b’

);

$c

=

$a

+

$b

;

var_dump(

$c

);

var_dump(

array_merge

(

$a

,

$b

));

输出:

array

0 => string

‘a’

(length=1)

1 => string

‘b’

(length=1)

array

0 => string

‘a’

(length=1)

1 => string

‘b’

(length=1)

2 => string

‘c’

(length=1)

3 => string

‘b’

(length=1)

如果需要去重操作可以用这两个函数:

//1.单数组去重复array_unique($arrTest)

//2.多数组去重复array_keys(array_flip($arr1)+array_flip($arr2))

实例:

$a = array(‘1001′,’1002’);

$b = array(‘1002′,’1003′,’1004’);

$c = array(‘1003′,’1004′,’1005’);

$d = array_keys(array_flip($a) + array_flip($b) + array_flip($c));

var_dump($d);

++++++++++++++++++++++++++++++++++++++++++

//输出:

array(5) { [0]=> int(1001) [1]=> int(1002) [2]=> int(1003) [3]=> int(1004) [4]=> int(1005) }

$c = array(‘1003′,’1004′,’1005′,’1005’);

$e = array_unique($c);

var_dump($e);

++++++++++++++++++++++++++++++++++++++++++

//输出:

array(3) { [0]=> string(4) “1003” [1]=> string(4) “1004” [2]=> string(4) “1005” }

数组拼接也是PHP后台工程师面试经常需要回答的问题,希望我的讲解对大家有帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138852.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • FileSystemWatcher 用法

    FileSystemWatcher 用法1.FileSystemWatcher基础在应用FileSystemWatcher对象之前,必须了解这个对象的一些基本属性和事件。毫无疑问,这个对象的最重要的属性为“EnableRaisingEvents”属性。这个属性决定对象在收到改变通知时是否提交事件。如果EnableRaisingEvents属性设为假,对象将不会提交改变事件。如果设为真,它将提交改变事件。下面是在应用FileSys

  • ToStringBuilder 学习

    ToStringBuilder 学习一、简介与引入1、ToStringBuilder、HashCodeBuilder、EqualsBuilder、ToStringStyle、ReflectionToStringBuilder、CompareToBuilder等这些类都是位于commons-lang.jar下面的,所以要使用这些类一定要导入commons-lang.jar。2、为什么要使用ToStringBuilder?…

    2022年10月31日
  • awk从放弃到入门(9):awk数组详解

    awk从放弃到入门(9):awk数组详解 这篇文章中的知识点是建立在前文的基础上的,如果你还没有掌握前文中的知识,请先参考之前的文章。注:在阅读这篇文章之前,最好已经了解了一些开发的基本语法,比如,for循环、数组的基本使用等,否则在阅读时有可能遇到障碍。 前文中提及过,awk其实可以算作一门脚本语言,因为它包含了一个脚本语言的各种语法结构,比如条件判断语句,比如循环语句,那么,awk中能否使用"数组"呢?必须能啊,今天我们就来聊聊…

  • Python的random函数用法详解[通俗易懂]

    Python的random函数用法详解[通俗易懂]在random模块下提供了如下常用函数:random.seed(a=None,version=2):指定种子来初始化伪随机数生成器。random.randrange(start,stop[,stop]):返回从start开始到stop结束、步长为step的随机数。其实就相当于choice(range(start,stop,step))的效果,只不过实际底层并不生成区间对象。random.randint(a,b):生成一个范围为a≤N≤b的随机数。其等同于ra

  • UVa 884 – Factorial Factors

    UVa 884 – Factorial Factors

    2021年12月16日
  • FFmpeg 4.x 从入门到精通(一)—— QT 中如何用 FFmpeg 实现软件解码

    FFmpeg 4.x 从入门到精通(一)—— QT 中如何用 FFmpeg 实现软件解码背景因为在2021年给自己定了目标和计划,学习ffmpeg,所以这篇文章是实现计划的第一步。ffmpeg众所周知,就不展开介绍了,下面给出FFmpeg4.2windowsx64lib库和头文件的下载地址(粉丝免积分下载):https://download.csdn.net/download/u012534831/14045436本文也是属于博主的入门学习总结与分享,因此我们先从ffmpeg的软解码开始,从解码到绘制,一起体验下亲自动手的快乐。本文的语言环境基于C++,界面部分是QT。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号