array_flip — 交換陣列中的鍵和值array_slice — 從陣列中取出一段
/**
* @param $input [需要修改的陣列]
* @param $offset [插入的起始位置或鍵名後]
* @param $length [插入的長度或鍵名前]
* @param $replacement [需要插入的元素(array、string....)]
* @return array
*/public
function
array_splice_assoc(&
$input
,$offset
,$length=0
,$replacement
=array()
)if(isset
($input
[$length])
&&is_string
($length))
// 先取出新增位置之前的元素與要新增的元素合併,再取新增位置之後的元素再合併
$result
=array_slice
($input,0
,$offset
,true)+
$replacement
+array_slice
($input
,$offset
+$length
,null
,true);
return
$result
;}
//例1
$input=[
'a'=
>1,
'b'=
>2,
'c'=
>3,
'd'=
>4,
'e'=
>
'5']
;$replacement=[
'x'=
>
999]
;$offset
='b'
;$length=0
;$result=[
'a'=
>1,
'b'=
>2,
'x'=
>
999,
'c'=
>3,
'd'=
>4,
'e'=
>
'5']
//例2
$input=[
'a'=
>1,
'b'=
>2,
'c'=
>3,
'd'=
>4,
'e'=
>
'5']
;$replacement=[
'x'=
>
999]
;$offset
='b'
;$length=1
;$result=[
'a'=
>1,
'x'=
>
999,
'c'=
>3,
'd'=
>4,
'e'=
>
'5']
在php中可以使用array_merge 函式和兩個陣列相加array+array的方式進行陣列合併,但兩者效果並不相同,區別:
當下標為數值時,array_merge()不會覆蓋掉原來的值,但arraya+arrayb合併陣列則會把最先值arraya的值作為最終結果返回,而把arrayb陣列擁有相同鍵名的那些值「拋棄」掉,而不是覆蓋
// 下標相同 array_merge()
$input=[
0=>1,
1=>2,
2=>3,
3=>4,
4=>5]
;$replacement=[
4=>
999]
;$result
=array_merge
($input
,$replacement);
$result=[
0=>1,
1=>2,
2=>3,
3=>4,
4=>5,
5=>
999];;
// 下標相同 array+array
$input=[
0=>1,
1=>2,
2=>3,
3=>4,
4=>5]
;$replacement=[
4=>
999]
;$result
=$input
+$replacement
;$result=[
0=>1,
1=>2,
2=>3,
3=>4,
4=>5]
;;
當下標為字元時,arraya+arrayb 仍然把最先出現的值作為最終結果返回,而把後面的陣列擁有相同鍵名的那些值「拋棄」掉,但array_merge()此時會覆蓋掉前面相同鍵名的值
// 下標相同 array_merge()
$input=[
'a'=
>1,
'b'=
>2,
'c'=
>3,
'd'=
>4,
'e'=
>
'5']
;$replacement=[
'e'=
>
999]
;$result
=array_merge
($input
,$replacement);
$result=[
'a'=
>1,
'b'=
>2,
'c'=
>3,
'd'=
>4,
'e'=
>
999]
;// 下標相同 array+array
$input=[
'a'=
>1,
'b'=
>2,
'c'=
>3,
'd'=
>4,
'e'=
>
'5']
;$replacement=[
'e'=
>
999]
;$result
=$input
+$replacement
;$result=[
'a'=
>1,
'b'=
>2,
'c'=
>3,
'd'=
>4,
'e'=
>
'5']
;
PHP陣列指定位置插入單元
rows array array name qq2010 array name qq2009 array name 迅雷5 array name 飛信2010 array name kugoo2010 array name ttplayer array name firefox4.0 array n...
php刪除指定位置陣列元素
arr a b c array splice arr,0,1 var dump arr brr a b c array shift brr var dump brr 結果如下 array size 2 0 string b length 1 1 string c length 1 array siz...
php 在array指定位置插入元素
insert the element to the array at the specified position param array param element param position private function array insert array,element,positio...