php数组相加 array(“a”)+array(“b”)结果还是array(“a”)

yipeiwu_com6年前PHP代码库

在网上看到一道题:

array("a")+array("b")的结果是___

A.array("a","b")
B.array("b","a")
C.array("b")
D.array("a")

答案:D

php两个数组相加,为什么结果还是不变呢?

因为,它们等效于array("0″=>"a")+array("0″=>"b"),它们的键名相同,前者不能被后者覆盖,如果是array("0″=>"a")+array("0″=>"b","1″=>"c"),那么结果等于array("0″=>"a","1″=>"c")

如果是同一个数组里面,有相同的键名会出现什么情况?

看一段php官方手册中的代码:

复制代码 代码如下:
$switching = array(         10, // key = 0
                    5    =>  6,
                    3    =>  7, 
                    'a'  =>  4,
                            11, // key = 6 (maximum of integer-indices was 5)
                    '8'  =>  2, // key = 8 (integer!)
                    '02' => 77, // key = '02'
                    0    => 12  // the value 10 will be overwritten by 12
                  );

可见,同一个数组里面如果有相同的键名,则前面一个键名的值将会被覆盖(overwritten)。

相关文章

fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法

一:近期黑客利用程序漏洞注入后使用 fsockopen 进行PHPDDOS 攻击,导致部分服务器不稳定,现在将危险函数 fsockopen 暂时禁用,部分程序功能可能有问题,以下列出已知...

php实现异步数据调用的方法

浏览器和服务器之间只有一种面向无连接的HTTP协议进行通讯的,面向无连接的程序的特点是客户端请求服务端,服务端根据请求返回相应的程序,不能保持持久连接。这样就出现了一个问题,一个客户端的...

PHP的博客ping服务代码

PHP的ping服务代码其实在以前我已经写过一个类,不过,有很多朋友加我好友说,看不太懂,那个是以类的形式写的,可能如果直接放到代码里直接用不太行,今天发一下能够直接用的ping函数,希...

学习php设计模式 php实现原型模式(prototype)

学习php设计模式 php实现原型模式(prototype)

一、意图 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 二、原型模式结构图 三、原型模式中主要角色 抽象原型(Prototype)角色:声明一个克隆自身的接口 具体原...

PHP 通过Socket收发十六进制数据的实现代码

最近在php下做关于Socket通讯的相关内容,发现网络上好多人在了解如何进行16进制收发,研究了下,代码如下,欢迎拍砖。复制代码 代码如下:<?php  &n...