首頁  >  文章  >  後端開發  >  PHP數組學習如何以填滿方式來建立數組

PHP數組學習如何以填滿方式來建立數組

青灯夜游
青灯夜游原創
2021-08-04 13:41:072464瀏覽

在先前的文章《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。

  • 如果為負數,則陣列索引由$index012, ...,$number-2 組成。例$index為-2,$number為4,則陣列索引為:-2、0、1、2。

在上例中,array_fill(0,4,"hello")$index為0(索引從0開始) 、$number為4(陣列有四個元素),因此陣列索引為:0、1、2、3;而$valuehello,則這四個元素的鍵值都為hello,因此輸出結果為:

PHP數組學習如何以填滿方式來建立數組

在看兩個範例:

<?php
$arr=array_fill(3,4,"hello");
var_dump($arr);
?>

分析:索引從3開始、到3 4-1=6結束,陣列的鍵值都為hello,因此輸出結果為:

PHP數組學習如何以填滿方式來建立數組

<?php
$arr=array_fill(-2,4,"hello");
var_dump($arr);
?>

輸出結果為:

PHP數組學習如何以填滿方式來建立數組

#$value參數不但可以是單一數值/字串 ,也可以是一個陣列,那麼創建的就是一個二維數組了。

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array_fill(0,4,array("张三",25,"男"));
var_dump($arr);
?>

輸出結果為:

PHP數組學習如何以填滿方式來建立數組

#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”,因此輸出結果為:

PHP數組學習如何以填滿方式來建立數組

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陣列的免費影片教學:PHP函數之array陣列函數影片講解,快來學習吧!

以上是PHP數組學習如何以填滿方式來建立數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn