本教程操作環(huán)境:windows7系統(tǒng)、PHP8版、DELL G3電腦
php一維數(shù)組增加元素的方法
方法1、使用array_unshift()函數(shù)
array_unshift()函數(shù)可以在數(shù)組的開(kāi)頭插入一個(gè)或多個(gè)新元素(鍵值)。
array_unshift($array,$value1,$value2...)
我們通過(guò)下面的例子來(lái)具體看看:
<?php $arr=array(10,12,20); array_unshift($arr,8,"9"); var_dump($arr); ?>
array_unshift($arr,8,9)
可以看出是在$arr數(shù)組的開(kāi)頭插入兩個(gè)新元素:數(shù)值“8
”和字符串“9
”,因此輸出結(jié)果為:
array_unshift()函數(shù)不會(huì)保持原有的數(shù)值索引關(guān)系,會(huì)刪除所有的數(shù)值鍵名,并為其重新賦值,即從 0 開(kāi)始重新計(jì)數(shù);但所有的字符串鍵名保持不變。
<?php header("Content-type:text/html;charset=utf-8"); $arr=array("a"=>"red","b"=>"green",3=>"pink"); echo "原來(lái)的數(shù)組:"; var_dump($arr); array_unshift($arr,"blue"); echo "在開(kāi)頭插入一個(gè)新元素后:"; var_dump($arr); ?>
輸出結(jié)果:
方法2、使用array_splice()函數(shù)
array_splice()函數(shù)是一個(gè)強(qiáng)大的函數(shù),可以用來(lái)刪除數(shù)組元素、替換數(shù)組元素,也能用來(lái)插入數(shù)組元素(只需要將參數(shù)$length的設(shè)置為0即可)。
array_splice($array,$start,$length,$value)
當(dāng)$length=0
,那么參數(shù)$start
就可指定開(kāi)始插入的位置(下標(biāo)),參數(shù)$value
就可指定插入值(如果是多個(gè)值就需要設(shè)置為數(shù)組)。
array_splice()函數(shù)既可以在數(shù)組開(kāi)頭添加元素,也可在尾部增加元素。
-
而想要在開(kāi)頭添加元素,那么$start的值需要為0。
<?php header("Content-type:text/html;charset=utf-8"); $arr1=array(10,12,20); var_dump($arr1); array_splice($arr1,0,0,"1"); var_dump($arr1); $arr2=array(10,12,20); array_splice($arr2,0,0,array("1",25,"3")); var_dump($arr2); ?>
-
而當(dāng)將
$start
的值設(shè)置為“數(shù)組長(zhǎng)度值”,即count($arr)
即可在數(shù)組末尾插入元素。
<?php header("Content-type:text/html;charset=utf-8"); $arr1=array(10,12,20); array_splice($arr1,count($arr1),0,"1"); var_dump($arr1); $arr2=array(10,12,20); array_splice($arr2,count($arr2),0,array("1",25,"3")); var_dump($arr2); ?>
輸出結(jié)果為:
方法3、使用array_push()函數(shù)從數(shù)組尾部增加元素
array_push()函數(shù)可以在數(shù)組尾部插入一個(gè)或多個(gè)元素(鍵值),語(yǔ)法如下:
array_push($array,$value1,$value2...)
示例:
<?php $arr=array(10,12,20); array_push($arr,8,"9",3.14); var_dump($arr); ?>
可以看出是在$arr數(shù)組的尾部插入3個(gè)元素:整數(shù)“8
”、字符串“9
”和浮點(diǎn)數(shù)“3.14
”。
array_push()函數(shù)插入的元素可以是數(shù)組類(lèi)型
<?php $arr=array(10,12,20); var_dump($arr); array_push($arr,array(1,2,3)); var_dump($arr); ?>
方法4、使用array_pad()函數(shù)從數(shù)組尾部增加元素
array_pad($array,$size,$value)
函數(shù)可以將某個(gè)鍵值$value
插入到數(shù)組$array
中,從而將數(shù)組填補(bǔ)到指定的長(zhǎng)度$size
。($size
參數(shù)可以理解為數(shù)組中元素的最終數(shù)目,即插入操作后的數(shù)組長(zhǎng)度)。
那么怎么利用array_pad()函數(shù)從數(shù)組尾部增加元素呢?關(guān)鍵就是$size參數(shù)。
-
當(dāng)$size參數(shù)為正數(shù),則在數(shù)組尾部插入元素。
<?php $arr=array(10,12,20); $result =array_pad($arr,5,1); var_dump($result); ?>
array_pad()函數(shù)插入的元素可以是數(shù)組類(lèi)型,那么原數(shù)組就會(huì)變?yōu)橐粋€(gè)二維數(shù)組。
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20); $result =array_pad($arr,5,array("張三",25,"男")); var_dump($result); ?>
輸出結(jié)果為:
方法5、使用array_merge()函數(shù)從數(shù)組尾部增加元素
array_merge(array1,array2,array3...)
函數(shù)用于把一個(gè)或多個(gè)數(shù)組合并為一個(gè)數(shù)組,將array2,array3...
的值存入array1
中。
如果兩個(gè)或