php中 两个数组使用+号代表什么意思
<?php
class User{
private static $tags=[];
public $name;
public $age;
public function __construct(){
}
public function __set($key,$val){
$this->$key=$val;
}
public function __get($key){
return $this->$key;
}
public function info($d,$message){
return "{$this->name}同学 {$this->age}岁"."-----{$d}:{$message}";
}
public static function import(array $tags){
self::$tags[]=$tags+self::$tags;
}
public static function getTags(){
return self::$tags;
}
}
User::import(["name"=>"jjj"]);
User::import(["name"=>"dddd"]);
User::import(["name"=>"parent"]);
print_r(User::getTags());
这个意思 好像是累加,一级一级的向下加 ,看看结果吧:
我觉着如果只是为了顺序来使用这样的一个类型,比较差
执行结果:Array
(
[0] => Array
(
[name] => jjj
)
[1] => Array
(
[name] => dddd
[0] => Array
(
[name] => jjj
)
)
[2] => Array
(
[name] => parent
[0] => Array
(
[name] => jjj
)
[1] => Array
(
[name] => dddd
[0] => Array
(
[name] => jjj
)
)
)
)
如果上面例子看不太明白,紧接着看下面的操作实例:
最后结果:
两个数组中,如果键值都一样的话,前面数组中 直接替换后面的。
下面我们看一个最简单的例子:
示例1

键一样就替换了。
示例2
array_merge 函数合并结果示例如下:

使用场景:
不需要多余参数时候,进行替换。
示例3:
//水果 $data1=[ '苹果', '香蕉' ]; //干果 $data2=[ '瓜子', '花生', '饼干' ]; echo '<pre>'; print_r($data1+$data2); echo '</pre>'; //水果 $data1=[ 10=>'榴莲', '苹果', '香蕉' ]; //干果 $data2=[ '瓜子', '花生', '饼干' ]; echo '<pre>'; print_r($data1+$data2); echo '</pre>';

示例四:
//水果 $data1=[ 'liulian'=>'榴莲', '苹果', '香蕉' ]; //干果 $data2=[ '瓜子', '花生', '饼干' ]; echo '<pre>'; print_r($data1+$data2); echo '</pre>';

切记,只有是出现数字索引的key,
当前及后面没有key的都会被当前索引key进行累加。
其实这里和一个参数是类似,array_merge() 这个函数保留不一样的键值,都在里面。
上面的解释不是很到位,那么我们再来看看如何说明这是做什么 的
https://www.jb51.net/article/98166.htm