在先前的文章《PHP數組學習之一維數組如何建立和初始化(程式碼詳解)》中,我們介紹了創建數組的兩種常規方法:「直接為數組元素賦值」和「array()函數
」。今天我們再來談談數組的創建,介紹兩種另類的數組創建方法,我們來看看。
在PHP中,我們也能夠以填滿方式來建立新數組,主要用到的函數為:array_fill()和array_fill_keys()。
array_fill():會以填入鍵值的方式來建立一個新陣列
array_fill_keys():會以填入鍵名和鍵值的方式來建立一個新數組
下面我們透過程式碼範例來具體了解這兩個函數。
1、array_fill()函數
#<?php $arr=array_fill(0,4,"hello"); var_dump($arr); ?>
array_fill($index, $number, $value)
函數接受3個不可省略的參數$index
(起始索引)、$number
(填滿元素數量)和$value
(用來填滿的鍵值) 。
其中,$index
參數支援負值,陣列索引有以下三種取值情況:
如果為正數,則數組索引從$index
值開始,到$index $number-1
值結束。例$index
為2,$number
為4,則陣列索引為:2、3、4、5。
如果為0,則陣列索引從0
開始,到$number-1
值結束。例$index
為0,$number
為4,則陣列索引為:0、1、2、3。
如果為負數,則陣列索引由$index
,0
,1
,2
, ...,$number-2
組成。例$index
為-2,$number
為4,則陣列索引為:-2、0、1、2。
在上例中,array_fill(0,4,"hello")
的$index
為0(索引從0開始) 、$number
為4(陣列有四個元素),因此陣列索引為:0、1、2、3;而$value
為hello
,則這四個元素的鍵值都為hello
,因此輸出結果為:
在看兩個範例:
<?php $arr=array_fill(3,4,"hello"); var_dump($arr); ?>
分析:索引從3開始、到3 4-1=6結束,陣列的鍵值都為hello
,因此輸出結果為:
<?php $arr=array_fill(-2,4,"hello"); var_dump($arr); ?>
輸出結果為:
#$value
參數不但可以是單一數值/字串 ,也可以是一個陣列,那麼創建的就是一個二維數組了。
<?php header("Content-type:text/html;charset=utf-8"); $arr=array_fill(0,4,array("张三",25,"男")); var_dump($arr); ?>
輸出結果為:
#2、array_fill_keys()函數
<?php $keys=array("a","b","c","d"); $arr=array_fill_keys($keys,"hello"); var_dump($arr); ?>
array_fill_keys($keys,$value)
函數接受2個不可省略的參數$keys
(包含填入鍵名的一個陣列)、$value
(填充鍵值)。
簡單來說,array_fill_keys()函數會使用$keys
陣列中元素作為鍵名,$value
作為值來填入一個新陣列。
從上面的程式碼範例可以看出:新陣列有四個元素,鍵名分別為「a
」、「b
」、「c
”、“d
”;這四個元素的鍵值都為“hello
”,因此輸出結果為:
array_fill_keys()和array_fill()函數一樣,$value
值也可以接受一個數組,那麼創建的就是一個二維數組了。
<?php header("Content-type:text/html;charset=utf-8"); $keys=array("a","b","c","d"); $arr=array_fill_keys($keys,array("李四",21,"男")); var_dump($arr); ?>
輸出結果為:
好了就說到這裡了,有其他想知道的,可以點選這個喔。 → →php影片教學
最後推薦給大家一個PHP陣列的免費影片教學:PHP函數之array陣列函數影片講解,快來學習吧!
以上是PHP數組學習如何以填滿方式來建立數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!