溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP數組簡介

發(fā)布時間:2020-07-18 16:06:37 來源:網絡 閱讀:339 作者:bxst 欄目:web開發(fā)

一.PHP數組的分類

按照下標的不同,PHP中的數組分為關聯數組和索引數組:
索引數組:下標從0開始,依次增長。

$arr=[1,2,3,4,5];

關聯數組:下標為字符串格式,每個下標字符串與數組的值一一關聯對應。(有點像對象的鍵值對)

 

1
$arr=["a"=>1;"b"=>2;"c"=>3];

 

注:[]聲明在5.4版本之后才能使用。

二.關于關聯數組和索引數組

1、數組中,可以同時存在索引數組和關聯數組

  array(1,2,3,"four"=>4);

2、數組中,所有的索引數組,如果不加指定,會去掉關聯項,默認增長(即關聯數組不占索引位)

 

array(1,2,3,"four"=>4,5,6);

 

1,2,3,5,6的索引分別為0 1 2 3 4。
3、如果關聯數組的key,是純十進制整數字符串,則會將此數字轉為索引數組的索引值

 

 array(1,2,3,"9"=>4);

1 2 3 4 的索引分別為 0 1 2 9。
 4、如果手動指定關聯數組的key,索引數組的下標,如果與前面已有的key或下標重復,則后指定的值會覆蓋之前的值

 

 array(1,2,"one"=>5,"one"=>6)

 打印數組為  1 2 "one"=>6。
 5、如果手動指定索引數組下標,則后續(xù)自增長下標,會按照之前下標最大值,依次增長

 

array(1,2,3,"9"=>4,5);

1 2 3 4 5 的索引分別為 0 1 2 9 10。

 

三.數組的遍歷

1、使用for循環(huán)遍歷數組
count($arr);用于統計數組元素的個數
for循環(huán)只能用于遍歷純索引數組
如果存在關聯數組,count統計時,會統計兩種數組的總個數,使用for循環(huán)遍歷混合數組,將導致數組越界!

 

$arr=[1,2,3,4,5];for($i=0;$i<count($arr);$i++){     echo $arr[$i];
}

 

2、foreach循環(huán)遍歷數組(最常用的方法)
 foreach可以遍歷任何類型的數組,案例如下:

$arr=[1,2,"one"=>5,"one"=>6];foreach($arr as $key=>$value){        echo "這是key:{$key}";        echo "這是value:{$value}";
}

3.使用list() each() while遍歷數組

list(); 用于將數組的每一個值,賦值給list函數的每一個參數。(list函數的參數,必須小于等于數組的元素個數)

注意:

list()在解析數組時,只解析索引數組,不能取出關聯項。

list()可以通過空參數,選擇性的解析數組的值;

each();用于返回數組當前指針所在位的鍵值對,并將指針后移一位,

返回值:一個數組。包含一個索引數組(0 鍵 1 值)和一個關聯數組("key" 鍵 "value" 值)。

while(list($key,$value) = each($arr)){    echo "{$key}&nbsp;{$value}<br>";
} reset($arr);

注意:數組使用each遍歷完一遍后,指針始終處于最后一位的下一位,即再用each,始終返回false,如果還需使用,需用reset()函數,重置數組指針。

4、使用數組指針遍歷數組

next():將數組指針后移一位,并返回后一位的值,沒有返回false。

prev():將數組指針前移一位,并返回前一位的值,沒有返回false。

end():將數組的指針直接移至最后一位,并返回最后一位的值,空數組返回false。

reset():重置數組指針,恢復至第一位,并返回第一位的值,空數組返回false。

key():返回當前指針所在位的鍵,如果數組為空或指針指到最后,返回null。

current():返回當前指針所在位的值,如果數組為空或指針指到最后,返回false。

PHP數組簡介

$arr=[1,2,false,3,4,5];while (true) {    echo key($arr);    echo"---";    echo current($arr)."<br>";    if(!next($arr)&&key($arr)===null)        break;        
    }
}

PHP數組簡介


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI