php中 两个数组使用+号代表什么意思
classUser{
privatestatic$tags=[];
public$name;
public$age;
publicfunction__construct(){
}
publicfunction__set($key,$val){
$this->$key=$val;
}
publicfunction__get($key){
return$this->$key;
}
publicfunctioninfo($d,$message){
return"{$this->name}同学{$this->age}岁"."-----{$d}:{$message}";
}
publicstaticfunctionimport(array$tags){
self::$tags[]=$tags+self::$tags;
}
publicstaticfunctiongetTags(){
returnself::$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'
';
print_r($data1+$data2);
echo'
';
//水果
$data1=[
10=>'榴莲',
'苹果',
'香蕉'
];
//干果
$data2=[
'瓜子',
'花生',
'饼干'
];
echo'
';
print_r($data1+$data2);
echo'
';
示例四://水果
$data1=[
'liulian'=>'榴莲',
'苹果',
'香蕉'
];
//干果
$data2=[
'瓜子',
'花生',
'饼干'
];
echo'
';
print_r($data1+$data2);
echo'
';
切记,只有是出现数字索引的key,
当前及后面没有key的都会被当前索引key进行累加。
其实这里和一个参数是类似,array_merge() 这个函数保留不一样的键值,都在里面。
上面的解释不是很到位,那么我们再来看看如何说明这是做什么的
/article/98166.htm