目錄
- 數(shù)組的基本使用
- 1. 創(chuàng)建數(shù)組的方式
- 1.數(shù)組的創(chuàng)建——array()語言結(jié)構(gòu)方式
- 2. 數(shù)組的定義——array()語言結(jié)構(gòu)方式
- 3. 數(shù)組的定義——賦值方式
- 4. 數(shù)組的定義——短數(shù)組定義法
- 2.訪問數(shù)組
- 3.遍歷數(shù)組
- 4.數(shù)組的刪除
- 5.數(shù)組操作符
本文實例講述了PHP數(shù)組基本用法與知識點。分享給大家供大家參考,具體如下:
初識數(shù)組
- 概念: 數(shù)組就是一個可以存儲一組或一系列數(shù)值的變量
- 數(shù)組組成: 數(shù)組是由一個或多個數(shù)組元素組成的
- 數(shù)組元素: 一每個數(shù)組由鍵(Key)和值(Value)構(gòu)成
- 鍵: "鍵"為元素的是被名稱,也被稱為數(shù)組下標
- 值: “值”為元素的內(nèi)容
- 映射:“鍵”和“值”之間存在一種對應(yīng)關(guān)系,稱之為映射
- 類型劃分: 根據(jù)鍵的數(shù)據(jù)類型,可以將數(shù)組劃分為索引數(shù)組和關(guān)聯(lián)數(shù)組,前者使用數(shù)字作為鍵,后者使用字符串作為鍵。
1. 索引數(shù)組
索引數(shù)組: 指鍵名為整數(shù)的數(shù)組。默認情況下,索引數(shù)組的鍵名是從0開始,并依次遞增。它主要適用于利用位置來標識數(shù)組元素的情況。另外,索引數(shù)組的鍵名也可以自己指定
2.關(guān)聯(lián)數(shù)組
關(guān)聯(lián)數(shù)組: 指鍵名為字符串的數(shù)組。通常情況下,關(guān)聯(lián)數(shù)組元素的“鍵”和“值”之間有一定的義務(wù)邏輯關(guān)系。因此,通常使用關(guān)聯(lián)數(shù)組儲存一系列具有邏輯關(guān)系的變量。關(guān)聯(lián)數(shù)組的“鍵”都是字符串,并與“值”之間具有意義對應(yīng)的關(guān)系
數(shù)組的基本使用
1. 創(chuàng)建數(shù)組的方式
- 使用array()函數(shù) 創(chuàng)建數(shù)組
- 賦值方式
- 短數(shù)組定義法(php5.4增加的)
1.數(shù)組的創(chuàng)建——array()語言結(jié)構(gòu)方式
array()語言結(jié)構(gòu)中的數(shù)組元素使用“鍵=>值”的方式進行表示,各元素之間使用逗號進行分割。
//定義索引數(shù)組
$fruits = array('apple', 'grape', 'pear'); // 省 略鍵名
$sports = array(2 => 'basketball', 4 => 'swimming'); // 指定鍵名
數(shù)組在省略鍵名的設(shè)置時,默認從0開始,依此遞增加1,因此該數(shù)組元素的鍵名依次為“0、1、2”。
除此之外,還可以根據(jù)實際需求自定義數(shù)組元素的鍵名,如上述示例中的$sports數(shù)組變量,將其第1個元素鍵名設(shè)置為2,第2個元素的鍵名設(shè)置為4
2. 數(shù)組的定義——array()語言結(jié)構(gòu)方式
//定義關(guān)聯(lián)數(shù)組
$info = array('id' => 10, 'name' => 'Tom', 'tel' => 18810888188);
在定義關(guān)聯(lián)數(shù)組時 “鍵”則有明確的數(shù)據(jù)類型要求,具體如下。
- 鍵只能是整型或字符串型的數(shù)據(jù),如果是其他類型,則會執(zhí)行類型自動轉(zhuǎn)換
- 合法整型的字符串會被轉(zhuǎn)為整型,如“2”轉(zhuǎn)為2,而“02”則不會被轉(zhuǎn)換
- 浮點數(shù)會被舍去小數(shù)部分直接轉(zhuǎn)換成整型,如“2.6”轉(zhuǎn)為2
- 布爾類型的true會被轉(zhuǎn)為1,false轉(zhuǎn)為0
- NULL類型會被轉(zhuǎn)為空字符串
- 若數(shù)組中存在相同鍵名的元素時,后面的元素會覆蓋前面元素的值
在定義數(shù)組時,還可以定義沒有任何元素的數(shù)組,以及既有索引表示方式、又有關(guān)聯(lián)表示方式的數(shù)組元素。
//定義混合數(shù)組
$temp = array();
$mixed = array(2, 'str', 'id' => 5, 5 => 'b', 'a');
- $mixed數(shù)組的元素“b”指定了數(shù)字鍵名為“5”
- “b”元素后的“a”元素會自動將前面最大的數(shù)字鍵名加1后,作為其鍵名,即5+1得到鍵名6。
//定義多維數(shù)組
$data = array(
0 => array('name' => 'Tom', 'gender' => '男'),
1 => array('name' => 'Lucy', 'gender' => '女'),
2 => array('name' => 'Jimmy', 'gender' => '男')
);
3. 數(shù)組的定義——賦值方式
使用賦值方式定義數(shù)組,實際上就是創(chuàng)建一個數(shù)組變量,然后使用賦值運算符直接給變量賦值。
//賦值方式
$arr[] = 123; // 存儲結(jié)果:$arr[0] = 123
$arr[] = 'hello'; // 存儲結(jié)果:$arr[1] = 'hello'
$arr[4] = 'PHP'; // 存儲結(jié)果:$arr[4] = 'PHP'
$arr['name'] = 'Tom'; // 存儲結(jié)果: $arr['name'] = 'Tom'
$arr[] = 'Java'; // 存儲結(jié)果:$arr[5] = 'Java'
賦值方式定義數(shù)組就是單獨為數(shù)組元素賦值。需要注意的是,賦值方式不能定義一個空數(shù)組。
4. 數(shù)組的定義——短數(shù)組定義法
短數(shù)組定義法([])與array()語法結(jié)構(gòu)相同,只需將array()替換為[]即可
//短數(shù)組定義法
// 相當(dāng)于:array('wind', 'fine')
$weather = ['wind', 'fine'];
// 相當(dāng)于:array('id' => 12, 'name' => 'PHP')
$object = ['id' => 12, 'name' => 'PHP'];
// 相當(dāng)于:array(array(1, 3), array(2, 4))
$num = [[1, 3], [2, 4]];
2.訪問數(shù)組
數(shù)組定義完成后,若想要查看數(shù)組中某個具體的元素,則可以通過“數(shù)組名[鍵]”的方式獲取。
```
//數(shù)組名[鍵]
$sub = ['PHP', 'Java', 'C', 'Android'];
$data = ['goods' => 'clothes', 'num' => 49.90, 'sales' => 500];
echo $sub[1]; // 輸出結(jié)果:Java
echo $sub[3]; // 輸出結(jié)果:Android
echo $data['goods']; // 輸出結(jié)果:clothes
echo $data['sales']; // 輸出結(jié)果:500
```
若要一次查看數(shù)組中的所有元素,則可以利用前面學(xué)習(xí)過的輸出語句函數(shù)print_r()和var_dump(),并且通常情況下為了使輸出的函數(shù)按照一定的格式打印,查看時經(jīng)常與pre標記一起使用。
3.遍歷數(shù)組
所謂遍歷數(shù)組就是一次訪問數(shù)組中所有元素的操作。通常情況下,使用foreach()語句完成數(shù)組的遍歷。
//方式一
foreach (數(shù)組名稱 as 鍵 => 值) {
// 處理語句
}
//方式二
foreach (數(shù)組名稱 as 值) {
// 處理語句
}
“鍵”和“值”的變量名可以根據(jù)實際情況隨意設(shè)置
4.數(shù)組的刪除
在數(shù)組定義完成后,有時也需要根據(jù)實際情況去除數(shù)組的某個元素。
5.數(shù)組操作符
不僅前面講解的標量數(shù)據(jù)類型可以進行比較運算,數(shù)組這種復(fù)合數(shù)據(jù)類型也可以進行運算,不過數(shù)組有其專門提供的數(shù)組操作符進行對應(yīng)的運算。
“+”為聯(lián)合運算符,用于合并數(shù)組,如果出現(xiàn)下標相同的元素,則保留第1個數(shù)組內(nèi)的元素。
$num = [2, 4];
$alp = ['a', 'b', 'c'];
$mer1 = $num + $alp;
$mer2 = $alp + $num;
print_r($mer1); // 輸出結(jié)果:Array ( [0] => 2 [1] => 4 [2] => c )
print_r($mer2); //
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《php常用函數(shù)與技巧總結(jié)》、《PHP錯誤與異常處理方法總結(jié)》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》及《PHP數(shù)學(xué)運算技巧總結(jié)》
希望本文所述對大家PHP程序設(shè)計有所幫助。
您可能感興趣的文章:- PHP如何使用array_unshift()在數(shù)組開頭插入元素
- PHP數(shù)組Key強制類型轉(zhuǎn)換實現(xiàn)原理解析
- PHP基于array_unique實現(xiàn)二維數(shù)組去重
- 如何在PHP中使用數(shù)組
- PHP數(shù)組array類常見操作示例
- php判斷數(shù)組是否為空的實例方法
- php回調(diào)函數(shù)處理數(shù)組操作示例
- php數(shù)組指針函數(shù)功能及用法示例
- PHP數(shù)組實際占用內(nèi)存大小原理解析