主頁(yè) > 知識(shí)庫(kù) > PHP數(shù)組基本用法與知識(shí)點(diǎn)總結(jié)

PHP數(shù)組基本用法與知識(shí)點(diǎn)總結(jié)

熱門(mén)標(biāo)簽:Mysql連接數(shù)設(shè)置 Linux服務(wù)器 團(tuán)購(gòu)網(wǎng)站 阿里云 服務(wù)器配置 科大訊飛語(yǔ)音識(shí)別系統(tǒng) 電子圍欄 銀行業(yè)務(wù)

本文實(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)行分割。

//定義索引數(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)方式

//定義關(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ù)組元素。

//定義混合數(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。
//定義多維數(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)算符直接給變量賦值。

//賦值方式
$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()替換為[]即可

//短數(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ù)組名[鍵]”的方式獲取。

```
//數(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ù)組的遍歷。

//方式一
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)的元素。

$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)容感興趣的讀者可查看本站專(zhuān)題:《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《php常用函數(shù)與技巧總結(jié)》、《PHP錯(cuò)誤與異常處理方法總結(jié)》、《PHP基本語(yǔ)法入門(mén)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》及《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • PHP如何使用array_unshift()在數(shù)組開(kāi)頭插入元素
  • PHP數(shù)組Key強(qiáng)制類(lèi)型轉(zhuǎn)換實(shí)現(xiàn)原理解析
  • PHP基于array_unique實(shí)現(xiàn)二維數(shù)組去重
  • 如何在PHP中使用數(shù)組
  • PHP數(shù)組array類(lèi)常見(jiàn)操作示例
  • php判斷數(shù)組是否為空的實(shí)例方法
  • php回調(diào)函數(shù)處理數(shù)組操作示例
  • php數(shù)組指針函數(shù)功能及用法示例
  • PHP數(shù)組實(shí)際占用內(nèi)存大小原理解析

標(biāo)簽:蚌埠 棗莊 江蘇 廣元 衡水 萍鄉(xiāng) 衢州 大理

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP數(shù)組基本用法與知識(shí)點(diǎn)總結(jié)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢(xún)

    • 400-1100-266