PHP數組簡介

來源:互聯網
上載者:User

標籤:php

一.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、如果手動指定索引數組下標,則後續自增長下標,會按照之前下標最大值,依次增長

 

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

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

 

三.數組的遍曆

1、使用for迴圈遍曆數組
count($arr);用於統計數組元素的個數
for迴圈只能用於遍曆純索引數組
如果存在關聯陣列,count統計時,會統計兩種數組的總個數,使用for迴圈遍曆混合數組,將導致數組越界!

 

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

 

2、foreach迴圈遍曆數組(最常用的方法)
 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。

650) this.width=650;" src="/img/fz.gif" alt="複製代碼" style="margin:0px;padding:0px;border:none;" />

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

650) this.width=650;" src="/img/fz.gif" alt="複製代碼" style="margin:0px;padding:0px;border:none;" />


PHP數組簡介

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.