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