php数组合并有几种方式(基于php学生信息管理系统设计)
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
1、使用加號(hào)“+”運(yùn)算符:
直接將兩個(gè)數(shù)組的值合并成為一個(gè)數(shù)組;
$a = [1,2,3,'a'=>'a'];
$b = ['a'=>'b',4,5,'b'=>'c',6,7,'a'];
$c = $a + $b;
print_r($a);
print_r($b);
print_r($c);
//$a
Array
(
[0] => 1
[1] => 2
[2] => 3
[a] => a
)
//$b
Array
(
[a] => b
[0] => 4
[1] => 5
[b] => c
[2] => 6
[3] => 7
[4] => a
)
//$c
Array
(
[0] => 1
[1] => 2
[2] => 3
[a] => a
[b] => c
[3] => 7
[4] => a
)
登錄后復(fù)制
采用"+"合并數(shù)組,如果鍵相同的情況下,前面的數(shù)組值會(huì)覆蓋掉后面的數(shù)組值。
2、使用array_push()函數(shù)
將某個(gè)變量放入到另一個(gè)數(shù)組當(dāng)中
$a = [1,'a'=>'aa',2,'b'=>'bb'];
$b = [1,'a'=>'aa',2,'b'=>'bb'];
print_r($a);
print_r($b);
array_push($a, $b);
print_r($a);
//$a
Array
(
[0] => 1
[a] => aa
[1] => 2
[b] => bb
)
//$b
Array
(
[0] => 1
[a] => aa
[1] => 2
[b] => bb
)
// array_push過(guò)后的$a
Array
(
[0] => 1
[a] => aa
[1] => 2
[b] => bb
[2] => Array
(
[0] => 1
[a] => aa
[1] => 2
[b] => bb
)
)
登錄后復(fù)制
通過(guò)打印的值可以看出,變量進(jìn)入數(shù)組后,對(duì)應(yīng)的數(shù)字索引必然是當(dāng)前數(shù)組中最小的數(shù)字索引+1(如果當(dāng)前數(shù)組不存在數(shù)字索引,新增元素對(duì)應(yīng)的索引為0)
3、使用array_merge()函數(shù)
直接將兩個(gè)數(shù)組進(jìn)行合并,兩個(gè)數(shù)組鍵相同的情況,后面數(shù)組的值覆蓋前面數(shù)組的值
$a = [1,'2'=>2,'a'=>'a','b'=>'b'];
$b = [1,'2'=>3,'a'=>'c','b'=>'d','c'=>'e'];
$c = array_merge($a,$b);
print_r($a);
print_r($b);
print_r($c);
//$a
Array
(
[0] => 1
[2] => 2
[a] => a
[b] => b
)
//$b
Array
(
[0] => 1
[2] => 3
[a] => c
[b] => d
[c] => e
)
//$c
Array
(
[0] => 1
[1] => 2
[a] => c
[b] => d
[2] => 1
[3] => 3
[c] => e
)
登錄后復(fù)制
可以看出,兩個(gè)數(shù)組鍵相同的情況,后面數(shù)組的值覆蓋前面數(shù)組的值。但是對(duì)于數(shù)字索引或者數(shù)字字符串索引,會(huì)按照順序進(jìn)行重置(第一個(gè)數(shù)組的第一個(gè)數(shù)字索引元素從0開(kāi)始依次填充)
4、使用array_merge_recursive()函數(shù)
合并數(shù)組,遇到相同的鍵將該鍵中值合并為一個(gè)子數(shù)組
$a = [1,'2'=>2,'a'=>'a','b'=>'b'];
$b = [1,'2'=>3,'a'=>'a','b'=>'d','c'=>'e'];
$c = array_merge_recursive($a,$b);
print_r($a);
print_r($b);
print_r($c);
//$a
Array
(
[0] => 1
[2] => 2
[a] => a
[b] => b
)
//$b
Array
(
[0] => 1
[2] => 3
[a] => a
[b] => d
[c] => e
)
//$c
Array
(
[0] => 1
[1] => 2
[a] => Array
(
[0] => a
[1] => a
)
[b] => Array
(
[0] => b
[1] => d
)
[2] => 1
[3] => 3
[c] => e
)
登錄后復(fù)制
采用"array_merge_recursive"方法時(shí),會(huì)將相同鍵的元素,整合成為一個(gè)新的數(shù)組,保持鍵名不變,作為合并數(shù)組($a與$b組合后的數(shù)組)的一個(gè)子元素。但是對(duì)于數(shù)字索引或者數(shù)字字符串索引,會(huì)按照順序進(jìn)行重置(第一個(gè)數(shù)組的第一個(gè)數(shù)字索引元素從0開(kāi)始依次填充)。即使對(duì)應(yīng)的數(shù)字索引相同,也不會(huì)將相同索引的元素整合成功一個(gè)子數(shù)組。
推薦學(xué)習(xí):《PHP視頻教程》
以上就是php數(shù)組合并有幾種方式的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注風(fēng)君子博客其它相關(guān)文章!
總結(jié)
以上是生活随笔為你收集整理的php数组合并有几种方式(基于php学生信息管理系统设计)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python中列表、元组、字典三者有什么
- 下一篇: 如何用css设置删除线样式?(代码详解)