目錄
- 數組的基本使用
- 1. 創建數組的方式
- 1.數組的創建——array()語言結構方式
- 2. 數組的定義——array()語言結構方式
- 3. 數組的定義——賦值方式
- 4. 數組的定義——短數組定義法
- 2.訪問數組
- 3.遍歷數組
- 4.數組的刪除
- 5.數組操作符
本文實例講述了PHP數組基本用法與知識點。分享給大家供大家參考,具體如下:
初識數組
- 概念: 數組就是一個可以存儲一組或一系列數值的變量
- 數組組成: 數組是由一個或多個數組元素組成的
- 數組元素: 一每個數組由鍵(Key)和值(Value)構成
- 鍵: "鍵"為元素的是被名稱,也被稱為數組下標
- 值: “值”為元素的內容
- 映射:“鍵”和“值”之間存在一種對應關系,稱之為映射
- 類型劃分: 根據鍵的數據類型,可以將數組劃分為索引數組和關聯數組,前者使用數字作為鍵,后者使用字符串作為鍵。
1. 索引數組
索引數組: 指鍵名為整數的數組。默認情況下,索引數組的鍵名是從0開始,并依次遞增。它主要適用于利用位置來標識數組元素的情況。另外,索引數組的鍵名也可以自己指定
2.關聯數組
關聯數組: 指鍵名為字符串的數組。通常情況下,關聯數組元素的“鍵”和“值”之間有一定的義務邏輯關系。因此,通常使用關聯數組儲存一系列具有邏輯關系的變量。關聯數組的“鍵”都是字符串,并與“值”之間具有意義對應的關系
數組的基本使用
1. 創建數組的方式
- 使用array()函數 創建數組
- 賦值方式
- 短數組定義法(php5.4增加的)
1.數組的創建——array()語言結構方式
array()語言結構中的數組元素使用“鍵=>值”的方式進行表示,各元素之間使用逗號進行分割。
//定義索引數組
$fruits = array('apple', 'grape', 'pear'); // 省 略鍵名
$sports = array(2 => 'basketball', 4 => 'swimming'); // 指定鍵名
數組在省略鍵名的設置時,默認從0開始,依此遞增加1,因此該數組元素的鍵名依次為“0、1、2”。
除此之外,還可以根據實際需求自定義數組元素的鍵名,如上述示例中的$sports數組變量,將其第1個元素鍵名設置為2,第2個元素的鍵名設置為4
2. 數組的定義——array()語言結構方式
//定義關聯數組
$info = array('id' => 10, 'name' => 'Tom', 'tel' => 18810888188);
在定義關聯數組時 “鍵”則有明確的數據類型要求,具體如下。
- 鍵只能是整型或字符串型的數據,如果是其他類型,則會執行類型自動轉換
- 合法整型的字符串會被轉為整型,如“2”轉為2,而“02”則不會被轉換
- 浮點數會被舍去小數部分直接轉換成整型,如“2.6”轉為2
- 布爾類型的true會被轉為1,false轉為0
- NULL類型會被轉為空字符串
- 若數組中存在相同鍵名的元素時,后面的元素會覆蓋前面元素的值
在定義數組時,還可以定義沒有任何元素的數組,以及既有索引表示方式、又有關聯表示方式的數組元素。
//定義混合數組
$temp = array();
$mixed = array(2, 'str', 'id' => 5, 5 => 'b', 'a');
- $mixed數組的元素“b”指定了數字鍵名為“5”
- “b”元素后的“a”元素會自動將前面最大的數字鍵名加1后,作為其鍵名,即5+1得到鍵名6。
//定義多維數組
$data = array(
0 => array('name' => 'Tom', 'gender' => '男'),
1 => array('name' => 'Lucy', 'gender' => '女'),
2 => array('name' => 'Jimmy', 'gender' => '男')
);
3. 數組的定義——賦值方式
使用賦值方式定義數組,實際上就是創建一個數組變量,然后使用賦值運算符直接給變量賦值。
//賦值方式
$arr[] = 123; // 存儲結果:$arr[0] = 123
$arr[] = 'hello'; // 存儲結果:$arr[1] = 'hello'
$arr[4] = 'PHP'; // 存儲結果:$arr[4] = 'PHP'
$arr['name'] = 'Tom'; // 存儲結果: $arr['name'] = 'Tom'
$arr[] = 'Java'; // 存儲結果:$arr[5] = 'Java'
賦值方式定義數組就是單獨為數組元素賦值。需要注意的是,賦值方式不能定義一個空數組。
4. 數組的定義——短數組定義法
短數組定義法([])與array()語法結構相同,只需將array()替換為[]即可
//短數組定義法
// 相當于:array('wind', 'fine')
$weather = ['wind', 'fine'];
// 相當于:array('id' => 12, 'name' => 'PHP')
$object = ['id' => 12, 'name' => 'PHP'];
// 相當于:array(array(1, 3), array(2, 4))
$num = [[1, 3], [2, 4]];
2.訪問數組
數組定義完成后,若想要查看數組中某個具體的元素,則可以通過“數組名[鍵]”的方式獲取。
```
//數組名[鍵]
$sub = ['PHP', 'Java', 'C', 'Android'];
$data = ['goods' => 'clothes', 'num' => 49.90, 'sales' => 500];
echo $sub[1]; // 輸出結果:Java
echo $sub[3]; // 輸出結果:Android
echo $data['goods']; // 輸出結果:clothes
echo $data['sales']; // 輸出結果:500
```
若要一次查看數組中的所有元素,則可以利用前面學習過的輸出語句函數print_r()和var_dump(),并且通常情況下為了使輸出的函數按照一定的格式打印,查看時經常與pre標記一起使用。
3.遍歷數組
所謂遍歷數組就是一次訪問數組中所有元素的操作。通常情況下,使用foreach()語句完成數組的遍歷。
//方式一
foreach (數組名稱 as 鍵 => 值) {
// 處理語句
}
//方式二
foreach (數組名稱 as 值) {
// 處理語句
}
“鍵”和“值”的變量名可以根據實際情況隨意設置
4.數組的刪除
在數組定義完成后,有時也需要根據實際情況去除數組的某個元素。
5.數組操作符
不僅前面講解的標量數據類型可以進行比較運算,數組這種復合數據類型也可以進行運算,不過數組有其專門提供的數組操作符進行對應的運算。

“+”為聯合運算符,用于合并數組,如果出現下標相同的元素,則保留第1個數組內的元素。
$num = [2, 4];
$alp = ['a', 'b', 'c'];
$mer1 = $num + $alp;
$mer2 = $alp + $num;
print_r($mer1); // 輸出結果:Array ( [0] => 2 [1] => 4 [2] => c )
print_r($mer2); //
更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP數組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結》、《php字符串(string)用法總結》、《php常用函數與技巧總結》、《PHP錯誤與異常處理方法總結》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》及《PHP數學運算技巧總結》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:- PHP如何使用array_unshift()在數組開頭插入元素
- PHP數組Key強制類型轉換實現原理解析
- PHP基于array_unique實現二維數組去重
- 如何在PHP中使用數組
- PHP數組array類常見操作示例
- php判斷數組是否為空的實例方法
- php回調函數處理數組操作示例
- php數組指針函數功能及用法示例
- PHP數組實際占用內存大小原理解析