本文實例講述了php數組基本用法與知識點。分享給大家供大家參考,具體如下:
初識數組
- 概念: 數組就是一個可以存儲一組或一系列數值的變量
- 數組組成: 數組是由一個或多個數組元素組成的
- 數組元素: 一每個數組由鍵(key)和值(value)構成
- 鍵: "鍵"為元素的是被名稱,也被稱為數組下標
- 值: “值”為元素的內容
- 映射:“鍵”和“值”之間存在一種對應關系,稱之為映射
- 類型劃分: 根據鍵的數據類型,可以將數組劃分為索引數組和關聯數組,前者使用數字作為鍵,后者使用字符串作為鍵。
1. 索引數組
索引數組: 指鍵名為整數的數組。默認情況下,索引數組的鍵名是從0開始,并依次遞增。它主要適用于利用位置來標識數組元素的情況。另外,索引數組的鍵名也可以自己指定
2.關聯數組
關聯數組: 指鍵名為字符串的數組。通常情況下,關聯數組元素的“鍵”和“值”之間有一定的義務邏輯關系。因此,通常使用關聯數組儲存一系列具有邏輯關系的變量。關聯數組的“鍵”都是字符串,并與“值”之間具有意義對應的關系
數組的基本使用
1. 創建數組的方式
- 使用array()函數 創建數組
- 賦值方式
- 短數組定義法(php5.4增加的)
1.數組的創建——array()語言結構方式
array()語言結構中的數組元素使用“鍵=>值”的方式進行表示,各元素之間使用逗號進行分割。
1
2
3
|
//定義索引數組 $fruits = array ( 'apple' , 'grape' , 'pear' ); // 省 略鍵名 $sports = array (2 => 'basketball' , 4 => 'swimming' ); // 指定鍵名 |
數組在省略鍵名的設置時,默認從0開始,依此遞增加1,因此該數組元素的鍵名依次為“0、1、2”。
除此之外,還可以根據實際需求自定義數組元素的鍵名,如上述示例中的$sports數組變量,將其第1個元素鍵名設置為2,第2個元素的鍵名設置為4
2. 數組的定義——array()語言結構方式
1
2
|
//定義關聯數組 $info = array ( 'id' => 10, 'name' => 'tom' , 'tel' => 18810888188); |
在定義關聯數組時 “鍵”則有明確的數據類型要求,具體如下。
- 鍵只能是整型或字符串型的數據,如果是其他類型,則會執行類型自動轉換
- 合法整型的字符串會被轉為整型,如“2”轉為2,而“02”則不會被轉換
- 浮點數會被舍去小數部分直接轉換成整型,如“2.6”轉為2
- 布爾類型的true會被轉為1,false轉為0
- null類型會被轉為空字符串
- 若數組中存在相同鍵名的元素時,后面的元素會覆蓋前面元素的值
在定義數組時,還可以定義沒有任何元素的數組,以及既有索引表示方式、又有關聯表示方式的數組元素。
1
2
3
|
//定義混合數組 $temp = array (); $mixed = array (2, 'str' , 'id' => 5, 5 => 'b' , 'a' ); |
- $mixed數組的元素“b”指定了數字鍵名為“5”
- “b”元素后的“a”元素會自動將前面最大的數字鍵名加1后,作為其鍵名,即5+1得到鍵名6。
1
2
3
4
5
6
|
//定義多維數組 $data = array ( 0 => array ( 'name' => 'tom' , 'gender' => '男' ), 1 => array ( 'name' => 'lucy' , 'gender' => '女' ), 2 => array ( 'name' => 'jimmy' , 'gender' => '男' ) ); |
3. 數組的定義——賦值方式
使用賦值方式定義數組,實際上就是創建一個數組變量,然后使用賦值運算符直接給變量賦值。
1
2
3
4
5
6
|
//賦值方式 $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()替換為[]即可
1
2
3
4
5
6
7
|
//短數組定義法 // 相當于: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.訪問數組
數組定義完成后,若想要查看數組中某個具體的元素,則可以通過“數組名[鍵]”的方式獲取。
1
2
3
4
5
6
7
8
9
|
``` //數組名[鍵] $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()語句完成數組的遍歷。
1
2
3
4
5
6
7
8
|
//方式一 foreach (數組名稱 as 鍵 => 值) { // 處理語句 } //方式二 foreach (數組名稱 as 值) { // 處理語句 } |
“鍵”和“值”的變量名可以根據實際情況隨意設置
4.數組的刪除
在數組定義完成后,有時也需要根據實際情況去除數組的某個元素。
5.數組操作符
不僅前面講解的標量數據類型可以進行比較運算,數組這種復合數據類型也可以進行運算,不過數組有其專門提供的數組操作符進行對應的運算。
“+”為聯合運算符,用于合并數組,如果出現下標相同的元素,則保留第1個數組內的元素。
1
2
3
4
5
6
|
$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程序設計有所幫助。
原文鏈接:https://blog.csdn.net/qq_41254184/article/details/88624470