- PHP動態網站開發實踐教程
- 盧欣欣 李靖主編
- 1234字
- 2021-09-17 17:55:54
3.2 定義數組
在PHP中,定義數組的方式有三種,第一種是使用[]定義數組,第二種是使用array()函數定義數組,第三種是短數組語法定義數組。
3.2.1 使用[]定義數組
通過在方括號內指定鍵名來給數組賦值,其語法格式如下。

其中,$arr為數組名;$key為鍵名,其類型可以為整型或字符串;value為值,可以為任意數據類型。
1. 索引數組
定義一個索引數組,示例如下。

該示例將幾個人的姓名存至數組$student中,第一個元素的值為張亮,第二個元素的值為李麗,第三個元素的值為王坤。
也可以定義如下索引數組,value的值可以為任意數據類型。

需要注意的是,如果沒有指定“鍵”,即[] 內省略不寫,則使用默認鍵,從當前最大鍵值開始依次遞增。
2. 關聯數組
定義關聯數組,示例如下。

上述示例定義了一個關聯數組$student,數組元素的“鍵”都是字符串,并且“鍵”與“值”具有一一對應的關系。
3.2.2 使用array()定義數組
使用array()定義數組時,是使用“鍵=>值”的方式接收數組的元素,各個元素之間用逗號分隔,語法格式如下。

其中,$arr表示數組名;key1、key2表示鍵名;可以是數字,也可以是字符串;value1、value2表示對應的值,可以是任意類型的數據。
1. 索引數組
定義索引數組,示例如下。

上述代碼中,定義了一個數組$student1。在定義該數組時,只指定了數組元素的值,沒有指定鍵名,則$student1默認為索引數組,且鍵名從0開始,依次遞增,分別是“0、1、2”。$student2數組變量的鍵名是指定的,第一個元素的鍵名為1,第二個元素的鍵名為4,這種定義方法不常使用。
2. 關聯數組
定義關聯數組,示例如下。

上述代碼中,通過關聯數組的鍵名可以準確地描述該數組元素的含義,例如,id表示學號,name表示姓名,sex表示性別,address表示地址,tel表示電話號碼。
在使用數組時需要注意以下幾點。
1)數組的鍵名可以是整型和字符串類型,如果是其他類型,會自動進行類型轉換。整型的字符串會被轉換為整型,如“2”會轉為2;浮點數會被舍去小數部分直接轉換成整型,如“2.6”會轉換成2;布爾類型的true和false會轉換成1和0;null會轉換為空字符串。
2)當定義數組時沒有給某個元素指定下標,PHP會自動將目前最大的整數的鍵加1后,作為該元素的鍵名,并依次遞增后面元素的鍵名。
3)當數組中存在相同鍵名元素時,后面的元素會覆蓋前面元素的值。
4)當定義沒有任何元素的數組時,可以使用$arr=array()來定義。
5)還可以定義既有索引表示方式又有關聯表示方式的數組元素,例如,$arr=array(5,'a','id'=>123,3=>'b','c'),5的鍵名為0,'a'的鍵名為1,123的鍵名為'id','b'的鍵名為3,'c'的鍵名為4。這種方式在實際應用中很少使用。
3.2.3 使用短數組語法定義數組
自PHP5.4起可以使用短數組定義語法,用[]替代array(),示例如下。

在上述代碼中,用[]代替array(),分別定義一個關聯數組$student和一個索引數組$name。
3.2.4 二維數組的定義
二維數組的定義和使用與一維數組一樣,唯一的區別是二維數組的元素仍是一個一維數組。大多使用array()定義二維數組,示例代碼如下。

上述代碼中,實現了二維數組$students的定義,該數組中相當于包含三個一維數組,其鍵名分別是“科學1班”“科學2班”“科學3班”。按照這種思路,可以定義多維數組。
- Practical Data Analysis Cookbook
- Visual Basic .NET程序設計(第3版)
- Intel Galileo Essentials
- C語言程序設計(第3版)
- Learning RabbitMQ
- 微服務設計原理與架構
- Django Design Patterns and Best Practices
- HTML5+CSS3+JavaScript Web開發案例教程(在線實訓版)
- HDInsight Essentials(Second Edition)
- 基于Struts、Hibernate、Spring架構的Web應用開發
- Learning Apache Cassandra
- Test-Driven Development with Django
- Scala Data Analysis Cookbook
- Spring 5 Design Patterns
- HTML5+CSS3+JavaScript 從入門到項目實踐(超值版)