建立陣列的方法:1、利用「$數組名[下標]=值;」語句,以直接賦值的方式建立陣列;2、使用「$數組名=array(鍵名=> ;值);」語句;3、用array_fill()以填入鍵值的方式來建立一個新數組;4、用array_combine()等。
本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦
php中怎麼建立陣列?下面這篇文章就來跟大家介紹幾種建立陣列的方法。
1、直接賦值的方式建立陣列
#宣告一維陣列的語法格式如下所示:
$数组变量名[下标] = 值;
其中下標(索引值)可以是一個字串或一個整數,並且下標需要使用[ ]
包裹。
宣告一個索引陣列時,如果索引值是遞增的,我們也可以不在方括號內指定具體的索引值,這時索引值預設從 0 開始依序增加。
<?php header("Content-type:text/html;charset=utf-8"); $array[] = '苹果'; $array[] = '香蕉'; $array[] = '橘子'; $array[] = '榴莲'; var_dump($array); ?>
2、使用array() 函數建立陣列
聲明陣列的另一種方法是使用array() 函數來新建一個陣列。它接受一定數量用逗號分隔的key=>value參數對。語法格式如下所示:
$数组变量名 = array(key1 => value1, key2 => value2, ..., keyN => valueN);
範例1:
<?php header("Content-type:text/html;charset=utf-8"); $array = array('红色','黄色','蓝色','紫色'); var_dump($array); ?>
範例2:
<?php header("Content-type:text/html;charset=utf-8"); $array = array("id"=>25,"name"=>"李华","age"=>18); var_dump($array); ?>
3、使用array_fill()建立陣列
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); ?>輸出結果為:
#4、使用array_fill_keys()函數
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(填入鍵值)。
$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); ?>
输出结果为:
5、使用array_combine()函数
array_combine()函数可以通过合并两个数组(一个为键名数组,一个为键值数组)来创建一个新数组。
<?php header("Content-type:text/html;charset=utf-8"); $keys=array("a","b","c","d"); $values=array("red","green","blue","yellow"); var_dump($keys); var_dump($values); echo "使用array_combine()合并数组后:"; var_dump(array_combine($keys,$values)); ?>
输出结果为:
可以看出,上面的示例中使用array_combine($keys,$values)
函数通过合并两个数组的方式创建了一个新数组,其中$keys
数组中的元素作为了新数组的键名,$values
数组的元素为作为了新数组的键值。
需要注意的是:
使用array_combine()函数创建数组时,$keys数组和$values数组中的元素个数必须要一致,这才能让键名和键值一一对应,否则就会报错并返回 FALSE
$keys数组不可为多维数组,但$values数组可以为多维数组。
6、使用range() 函数
range() 函数创建一个包含指定范围的元素的数组。
语法:
range(low,high,step)
low 必需。规定数组元素的最小值。
high 必需。规定数组元素的最大值。
step 可选。规定元素之间的步进制。默认是 1。
该函数返回一个包含从 low 到 high 之间的元素的数组。
<?php header("Content-type:text/html;charset=utf-8"); var_dump(range(0,5)); var_dump(range(0,5,2)); var_dump(range(0,20,5)); ?>
推荐学习:《PHP视频教程》
以上是創建php數組的方法有哪幾種的詳細內容。更多資訊請關注PHP中文網其他相關文章!