首頁 > 後端開發 > PHP問題 > 創建php數組的方法有哪幾種

創建php數組的方法有哪幾種

青灯夜游
發布: 2023-03-15 22:56:01
原創
4543 人瀏覽過

建立陣列的方法:1、利用「$數組名[下標]=值;」語句,以直接賦值的方式建立陣列;2、使用「$數組名=array(鍵名=> ;值);」語句;3、用array_fill()以填入鍵值的方式來建立一個新數組;4、用array_combine()等。

創建php數組的方法有哪幾種

本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦

php中怎麼建立陣列?下面這篇文章就來跟大家介紹幾種建立陣列的方法。

1、直接賦值的方式建立陣列

#宣告一維陣列的語法格式如下所示:

$数组变量名[下标] = 值;
登入後複製

其中下標(索引值)可以是一個字串或一個整數,並且下標需要使用[ ]包裹。

宣告一個索引陣列時,如果索引值是遞增的,我們也可以不在方括號內指定具體的索引值,這時索引值預設從 0 開始依序增加。

<?php
header("Content-type:text/html;charset=utf-8");
$array[] = &#39;苹果&#39;;
$array[] = &#39;香蕉&#39;;
$array[] = &#39;橘子&#39;;
$array[] = &#39;榴莲&#39;;
var_dump($array);
?>
登入後複製

創建php數組的方法有哪幾種

2、使用array() 函數建立陣列

聲明陣列的另一種方法是使用array() 函數來新建一個陣列。它接受一定數量用逗號分隔的key=>value參數對。語法格式如下所示:

$数组变量名 = array(key1 => value1, key2 => value2, ..., keyN => valueN);
登入後複製

範例1:

<?php
header("Content-type:text/html;charset=utf-8");
$array = array(&#39;红色&#39;,&#39;黄色&#39;,&#39;蓝色&#39;,&#39;紫色&#39;);
var_dump($array);
?>
登入後複製

創建php數組的方法有哪幾種

範例2:

<?php
header("Content-type:text/html;charset=utf-8");
$array = array("id"=>25,"name"=>"李华","age"=>18);
var_dump($array);
?>
登入後複製

創建php數組的方法有哪幾種

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。

  • 如果為負數,則陣列索引由$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數組的方法有哪幾種

#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(填入鍵值)。

簡單來說,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數組的方法有哪幾種

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));
?>
登入後複製

输出结果为:

創建php數組的方法有哪幾種

可以看出,上面的示例中使用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數組的方法有哪幾種的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板