官术网_书友最值得收藏!

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班”。按照這種思路,可以定義多維數組。

主站蜘蛛池模板: 昭觉县| 鄂托克前旗| 阜城县| 甘洛县| 光泽县| 务川| 利辛县| 石楼县| 邵阳市| 宜川县| 诸城市| 揭西县| 合水县| 临城县| 克东县| 浮梁县| 新兴县| 兴城市| 响水县| 赣榆县| 扬中市| 宝丰县| 永泰县| 镇平县| 上饶市| 天津市| 霍城县| 城固县| 新野县| 郯城县| 香港 | 体育| 乌苏市| 宁蒗| 赞皇县| 迁安市| 合山市| 贵港市| 石狮市| 景泰县| 富宁县|