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后台工程师面试经常需要回答的问题,希望我的讲解对大家有帮助。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Maven配置教程

    <divid=”content_views”class=”markdown_viewsprism-github-gist”><svgxmlns=”http://www.w3.org/2000/svg”style=”display:none;”><pathstroke-linecap=”round”d=”M5,00,2.55,5z”id=”raphael-marker…

    2022年4月3日
    45
  • 什么是UAT[通俗易懂]

    什么是UAT[通俗易懂]基本概念UAT,英文UserAcceptanceTest的简写,也就是用户验收测试,或用户可接受测试,系统开发生命周期方法论的一个阶段,这时相关的用户或独立测试人员根据测试计划和结果对系统进行测

    2022年8月6日
    4
  • VLC搭建RTSP直播流,图文介绍

    VLC搭建RTSP直播流,图文介绍将一个视频转成rtsp流,通过vlc播放器,搭建一个rtsp服务器,让rtsp客户端去访问这个视频的rtsp流1需要有vlc播放器,我的版本如下2媒体–>流3添加视频文件,点击添加一个mp4文件4选择串流,然后点击”下一个”5选择新目标,RTSP,然后点击添加6端口默认,路径添加个自定义名……

    2022年10月20日
    2
  • 1146 Topological Order「建议收藏」

    1146 Topological Order「建议收藏」题目题意:在给定有向图中,对于给定查询序列是否是有向图中的一个拓扑序列,记录非法序列下标tip:模拟拓扑排序#include<iostream>#include<vector>usingnamespacestd;intin_num[1003]={0};inttemp[1003]={0};vector<int>s[1003…

    2022年6月3日
    31
  • 手把手教你利用爬虫爬网页(Python代码)[通俗易懂]

    手把手教你利用爬虫爬网页(Python代码)[通俗易懂]本文主要分为两个部分:一部分是网络爬虫的概述,帮助大家详细了解网络爬虫;另一部分是HTTP请求的Python实现,帮助大家了解Python中实现HTTP请求的各种方式,以…

    2022年6月13日
    76
  • redhat8本地yum源配置_redhat7网络yum源配置

    redhat8本地yum源配置_redhat7网络yum源配置redhat8—配置yum源1、挂载系统光盘mkdir-pmount/dev/sr0/mnt/cdrom2、配置yum源将这段内容粘贴进去[BaseOS]name=BaseOSbaseurl=file:///mnt/cdrom/BaseOSenabled=1gpgcheck=0[AppStream]name=AppStreambaseurl=file:///mnt/cdrom/AppStreamenabled=1gpgcheck=0:wq!保存退出3、测试yu

    2022年8月12日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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