php數組的類型:1、索引數組,其下標(鍵名)由數字組成,默認從0開始,每個數字對應一個數組元素在數組中的位置;2、關聯(lián)數組,其下標(鍵名)由數值和字符串混合的形式組成;3、多維數組,包含一個或多個數組的數組。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
數組就是一組數據的集合,把一系列數據組織起來,形成一個可操作的整體。PHP 中的數組較為復雜,但比其他許多高級語言中的數組更為靈活。
數組 array 是一組有序的變量,其中每個值被稱為一個元素。每個元素由一個特殊的標識符來區(qū)分,這個標識符稱為鍵(也稱為下標)。
數組中的每個實體都包含兩項,分別是鍵(key)和值(value)。可以通過鍵值來獲取相應的數組元素,這些鍵可以是數值鍵,也可以是關聯(lián)鍵。如果說變量是存儲單個值的容器,那么數組就是存儲多個值的容器。
PHP 數組比其他高級語言中的數組更加靈活,不但支持以數字為鍵名的索引數組,而且支持以字符串或字符串、數字混合為鍵名的關聯(lián)數組。而在其他高級語言中,如 Java 或者 C++ 等語言的數組,只支持數字索引數組。
PHP 數組的結構如下圖所示:
php數組的類型
-
索引數組:數組的下標是數字;
-
關聯(lián)數組:數組的下標為字符是關聯(lián)數組;
-
多維數組:包含一個或多個數組的數組;
注意:PHP中數組其實是不區(qū)分索引還是關聯(lián)數組,都是根據鍵名找到對應的鍵值
1、索引數組
索引數組存儲一系列經過組織的單個或多個值,其中的每個值都可以通過使用一個無符號整數值進行訪問。索引數組的鍵是整數,而且從0開始以此類推。
索引數組初始化例:
<?php //創(chuàng)建一個索引數組,索引數組的鍵是“0”,值是“蘋果” $fruit=array("蘋果","香蕉"); print_r($fruit); ?>
運行結果:
Array ( [0] => 蘋果 [1] => 香蕉 )
索引數組的三種賦值方式:
-
array[0]='蘋果';
-
$arr=array('0'=>'蘋果');
-
$arr=array('蘋果');
例:
<?php //請創(chuàng)建一個數組變量arr,并嘗試創(chuàng)建一個索引數組,鍵是0,值是蘋果 $arr=array(0=>'蘋果'); if( isset($arr) ) {print_r($arr);} ?>
用for與foreach可以訪問到數組里面的元素,因for比較容易下面只舉使用foreach的例子,
<?php $fruit=array('蘋果','香蕉','菠蘿'); foreach($fruit as $key=>$value){ echo '<br>第'.$key.'值是:'.$value; } ?>
運行結果:
第0值是:蘋果 第1值是:香蕉 第2值是:菠蘿
注:這里$key是鍵值$value則是元素值
2、關聯(lián)數組
“關聯(lián)數組”是一種具有特殊索引方式的數組。使用字符串或者其他類型的值(除了NULL)來索引它。
其實關聯(lián)數組和索引數組的差別只是在鍵值上,關聯(lián)數組的鍵值是字符串,并且是人為的規(guī)定,例如:
<?php //創(chuàng)建一個關聯(lián)數組,關聯(lián)數組的鍵“orange”,值是“橘子” $fruit=array('orange'=>'橘子'); echo $fruit['orange']; ?>
其余初始化,賦值,foreach的用法基本相同。
3、多維數組
數據結構中的概念, 二維數組以上的數組,既非線性也非平面的數組成為多維數組。
<?php $arr = array( '安徽' => array( '阜陽'=>array('阜南縣','臨泉縣','潁州區(qū)'), '宿州'=>array('墉橋區(qū)','靈璧縣','泗縣'), '合肥'=>array('蜀山區(qū)','長豐縣','肥東') ), '河南' => array( '洛陽'=>array('西工區(qū)','老城區(qū)','孟津縣'), '鄭州市'=>array('中原區(qū)','金水區(qū)') ) ); print_r($arr); echo $arr['安徽']['宿州'][0]; // 輸出墉橋區(qū) ?>
其中“安徽”對應的是一個二維數組,“阜陽”“宿州”“合肥”分別對應一個一維數組;同理,“河南”也對應一個二維數組?!鞍不铡焙汀昂幽稀狈謩e對應一個二維數組,它倆組合起來形成一個三維數組。 PHP 中對多維數組沒有上限的固定限制,但是隨著維數的增加,數組會越來越復雜,對于閱讀調試和維護都會稍微困難些。 以上程序的運行結果為:
Array ( [安徽] => Array ( [阜陽] => Array ( [0] => 阜南縣 [1] => 臨泉縣 [2] => 潁州區(qū) ) [宿州] => Array ( [0] => 墉橋區(qū) [1] => 靈璧縣 [2] => 泗縣 ) [合肥] => Array ( [0] => 蜀山區(qū) [1] => 長豐縣 [2] => 肥東 ) ) [河南] => Array ( [洛陽] => Array ( [0] => 西工區(qū) [1] => 老城區(qū) [2] => 孟津縣 ) [鄭州市] => Array ( [0] => 中原區(qū) [1] => 金水區(qū) ) ) ) 墉橋區(qū)
推薦學習:《PHP視頻教程》