陣列的分類,定義和遍歷技巧

2021-08-31 13:32:24 字數 2624 閱讀 6416

一、陣列分類

1.陣列是由一組有序的值或鍵值對組成的資料結構

2.陣列根據鍵名型別分為:索引陣列 與 關聯陣列 二大類

3.索引陣列:鍵名是元素的位置索引,預設從0開始,採用系統自動處理可以省略鍵名

4.關聯陣列:鍵名是自定義的字串,類似於物件中的屬性列表

//索引陣列: 採用字面量直接定義

$arts = ['亢龍有悔', '飛龍在天', '見龍在田', '鴻漸於陸', '潛龍勿用', '突如其來'];

//關聯陣列: 採用字面量直接定義

$swordsman = ['name'=>'郭靖','position'=>'金刀駙馬','skill'=>'降龍十八掌'];

二、陣列定義

1. 整體定義: $arr = [...]

2. 逐個定義: $arr = ...

3. 陣列元素可以是字面量,也可以變數,甚至還可以是陣列,從而建立多維陣列

//逐個定義:以新增的方式的來建立陣列

$position = '金刀駙馬';

$swordsman=;

$swordsman['name'] = '郭靖';

$swordsman['position'] = $position;

$swordsman['skill'] = '降龍十八掌';

三、陣列遍歷

1. for()迴圈:適合遍歷索引陣列

2. while()迴圈

3. foreach()迴圈: 陣列專用,強烈推薦

4. list(),each(),while()配合完成的遍歷,因為each()已不再推薦,所以不再學習

4. 內部指標

1. for()迴圈:

$resl = '';

for($i=0;$i'; //去掉最右邊留下來的逗號

2. while()迴圈

$res2 = '';

$i = 0;

while($i';

3. foreach()迴圈

foreach ($arts as $key=>$value)

4.list(),each(),while()遍歷

list($var1,$var2,...) = [value1, value2,....]:將索引陣列中的值,依次賦給list()中的變數

each($arr):將陣列中的每個元素,拆分鍵和值二部分,並分別以索引和關聯二種方式返回

//測試each()

$arr = [100,'name'=>'donnieking'];

$temp = each($arr);

echo '';

print_r($temp);

$temp = each($arr);

echo '';

print_r($temp);

echo '';

while(list($key,$value) = each($swordsman))

echo '';

5.內部指標

(1)current():當前指標指向元素的值

(2)key(): 當前指標指向元素的鍵名/索引

(3)next(): 指標後移

(4)prev(): 指標前移

(5)end(): 指標移到尾部最後乙個元素上

(6)reset(): 指標復位,指向第乙個元素

//指標復位

reset($arts);

//獲取第乙個元素的鍵值

echo key($arts),'---',current($arts),'

';//後移一位,獲取第二個元素的鍵值

next($arts);

echo key($arts),'---',current($arts),'

';//前移一位

prev($arts);

echo key($arts),'---',current($arts),'

';//移到最後,獲取最後乙個元素的鍵值

end($arts);

echo key($arts),'---',current($arts),'

';echo '';

//記得先復位陣列指標,從頭開始遍歷

reset($arts);

for($i=0;$i';

reset($arts);

//使用入口判斷型,會導致第一招丟失

while(next($arts))

//應該使用出口判斷結構: do ~ while()

echo '';

reset($arts);

dowhile(next($arts)) ;

php 陣列定義 取值和遍歷

常用函式 生成隨機數 echo rand 1,10 兩個引數來確定隨機數的範圍 日期時間函式 var dump time 取當前時間的unix時間戳 date default timezone set prc echo date y m d h i s time 格式化日期時間戳 echo date...

PHP 定義陣列,取值陣列和遍歷陣列

php陣列 特點 可以儲存任意型別的資料,可以不連續,可以是索引的也可以是關聯的 什麼是索引?就是常見陣列的樣式,索引從開始,0,1,2,3,定義陣列是直接往裡面放值,只個索引自動生成,所以一般從0開始的,這樣的陣列是索引陣列,索引是連續的。什麼是關聯?就是我們的雜湊表集合,在定義的時候,必須給它乙...

約束定義和分類

約束 乙個或多個為了保持資料的完整性而實現的一套機制,約束是資料庫伺服器 強制使用者必須遵從的業務邏輯。它們限制使用者可能輸入指定範圍的值,從而強制引用的完整性。約束可以定義在字段級別或者表級別。oracle常見的約束分為以下5類 1 非空約束 一般在字段界別用not null列屬性進行約束 2 唯...