在之前的文章《帶你快速掌握PHP數(shù)組元素的替換(實(shí)例詳解)》中詳細(xì)的介紹了PHP中怎樣替換數(shù)組元素的相關(guān)知識(shí),本篇文章我們一起來看一下PHP數(shù)組操作中填充數(shù)組的相關(guān)知識(shí),希望對(duì)大家有幫助!
在上一篇文章中,我們了解了想要替換數(shù)組中的元素可以通過array_splice
函數(shù)、array_replace
函數(shù)和array_replace_recursive
函數(shù)來實(shí)現(xiàn)。接下來我們來看一下怎樣實(shí)現(xiàn)PHP中數(shù)組的填充操作。
在PHP中,想要對(duì)數(shù)組進(jìn)行填充,可以使用array_fill
函數(shù)、array_fill_keys
函數(shù)來實(shí)現(xiàn),下面我們就分別來看一下這兩個(gè)函數(shù)的使用方法。
array_fill
函數(shù)-鍵值填充數(shù)組
在PHP中,可以通過array_fill
函數(shù)來用鍵值填充一個(gè)數(shù)組,array_fill
函數(shù)的基本語法格式如下:
array_fill(index,number,value);
其中需要注意的是:這三個(gè)參數(shù)都是必須要有的,參數(shù)index
表示的是在返回?cái)?shù)組中的第一個(gè)索引,參數(shù)number
表示的是要插入的元素?cái)?shù)量,參數(shù)value
表示的是用來填充的時(shí)候所填充的值。
如果參數(shù)index
為正數(shù)的話,返回?cái)?shù)組中的索引就會(huì)從參數(shù)index開始;如果參數(shù)index
為負(fù)數(shù),那么在返回?cái)?shù)組中只有第一個(gè)元素的索引為參數(shù)index
,第二個(gè)是0
,第三個(gè)是1
以此類推。
返回的數(shù)組中一共有參數(shù)number
個(gè)元素,填充的值用value
,如果參數(shù)number
為0
或者小于0
的話,函數(shù)會(huì)錯(cuò)誤。函數(shù)運(yùn)行成功,返回的結(jié)果就是被填充的數(shù)組。
下面我們通過示例來看一下array_fill
函數(shù)的應(yīng)用,示例如下:
<?php $a1=array_fill(3,4,"blue"); print_r($a1); ?>
輸出結(jié)果:
下面我們看一下當(dāng)參數(shù)index
為負(fù)數(shù)時(shí),結(jié)果有什么變化,示例如下:
<?php $a1=array_fill(3,4,"blue"); print_r($a1); echo '<br/>'; $a2=array_fill(-3,4,"blue"); print_r($a2); ?>
輸出結(jié)果:
上述示例中,便是展現(xiàn)了參數(shù)index
參數(shù)不同,輸出結(jié)果上的變化,也就是索引的變化。
array_fill_keys
函數(shù)-鍵和值填充數(shù)組
在PHP中我們可以使用array_fill_keys
函數(shù)來通過鍵和值來填充數(shù)組,array_fill_keys
函數(shù)的基本語法格式如下:
array_fill_keys(keys,value);
其中需要注意的是:兩個(gè)參數(shù)都是必須要有的,參數(shù)keys
表示的是使用該參數(shù)的數(shù)組值作為新數(shù)組的鍵,如果參數(shù)keys
中的值不規(guī)范會(huì)被轉(zhuǎn)化為字符串,參數(shù)value
表示的是用來填充數(shù)組的值。返回的結(jié)果就是一個(gè)被填充完成的數(shù)組。
下面我們通過示例來看一下array_fill_keys
函數(shù)的應(yīng)用,示例如下:
<?php $keys=array("a","b","c","d"); $a1=array_fill_keys($keys,"blue"); print_r($a1); ?>
輸出結(jié)果:
上述示例中,參數(shù)value只有一個(gè)值,這時(shí)候填充的數(shù)組中全部都是一個(gè)值,當(dāng)參數(shù)value并不止一個(gè)的時(shí)候,示例如下:
<?php $keys=array("a","b","c","d"); $a1=array_fill_keys($keys,"blue"); print_r($a1); echo '<br/>'; $value=array('red','green','blue'); $a2=array_fill_keys($keys,$value); echo "<pre>"; var_dump($a2); ?>
輸出結(jié)果:
上述示例中,便是參數(shù)value也是一個(gè)數(shù)組的時(shí)候,輸出結(jié)果會(huì)成為一個(gè)多維數(shù)組。
大家如果感興趣的話,可以點(diǎn)擊《PHP視頻教程》進(jìn)行