您好,登錄后才能下訂單哦!
這篇文章主要介紹php數(shù)組的類型有哪些,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
php數(shù)組的類型:1、索引數(shù)組,其下標(biāo)(鍵名)由數(shù)字組成,默認(rèn)從0開始,每個(gè)數(shù)字對(duì)應(yīng)一個(gè)數(shù)組元素在數(shù)組中的位置;2、關(guān)聯(lián)數(shù)組,其下標(biāo)(鍵名)由數(shù)值和字符串混合的形式組成;3、多維數(shù)組,包含一個(gè)或多個(gè)數(shù)組的數(shù)組。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
數(shù)組就是一組數(shù)據(jù)的集合,把一系列數(shù)據(jù)組織起來,形成一個(gè)可操作的整體。PHP 中的數(shù)組較為復(fù)雜,但比其他許多高級(jí)語言中的數(shù)組更為靈活。
數(shù)組 array 是一組有序的變量,其中每個(gè)值被稱為一個(gè)元素。每個(gè)元素由一個(gè)特殊的標(biāo)識(shí)符來區(qū)分,這個(gè)標(biāo)識(shí)符稱為鍵(也稱為下標(biāo))。
數(shù)組中的每個(gè)實(shí)體都包含兩項(xiàng),分別是鍵(key)和值(value)。可以通過鍵值來獲取相應(yīng)的數(shù)組元素,這些鍵可以是數(shù)值鍵,也可以是關(guān)聯(lián)鍵。如果說變量是存儲(chǔ)單個(gè)值的容器,那么數(shù)組就是存儲(chǔ)多個(gè)值的容器。
PHP 數(shù)組比其他高級(jí)語言中的數(shù)組更加靈活,不但支持以數(shù)字為鍵名的索引數(shù)組,而且支持以字符串或字符串、數(shù)字混合為鍵名的關(guān)聯(lián)數(shù)組。而在其他高級(jí)語言中,如 Java 或者 C++ 等語言的數(shù)組,只支持?jǐn)?shù)字索引數(shù)組。
PHP 數(shù)組的結(jié)構(gòu)如下圖所示:
php數(shù)組的類型
索引數(shù)組:數(shù)組的下標(biāo)是數(shù)字;
關(guān)聯(lián)數(shù)組:數(shù)組的下標(biāo)為字符是關(guān)聯(lián)數(shù)組;
多維數(shù)組:包含一個(gè)或多個(gè)數(shù)組的數(shù)組;
注意:PHP中數(shù)組其實(shí)是不區(qū)分索引還是關(guān)聯(lián)數(shù)組,都是根據(jù)鍵名找到對(duì)應(yīng)的鍵值
1、索引數(shù)組
索引數(shù)組存儲(chǔ)一系列經(jīng)過組織的單個(gè)或多個(gè)值,其中的每個(gè)值都可以通過使用一個(gè)無符號(hào)整數(shù)值進(jìn)行訪問。索引數(shù)組的鍵是整數(shù),而且從0開始以此類推。
索引數(shù)組初始化例:
<?php //創(chuàng)建一個(gè)索引數(shù)組,索引數(shù)組的鍵是“0”,值是“蘋果” $fruit=array("蘋果","香蕉"); print_r($fruit); ?>
運(yùn)行結(jié)果:
Array ( [0] => 蘋果 [1] => 香蕉 )
索引數(shù)組的三種賦值方式:
array[0]='蘋果';
$arr=array('0'=>'蘋果');
$arr=array('蘋果');
例:
<?php //請(qǐng)創(chuàng)建一個(gè)數(shù)組變量arr,并嘗試創(chuàng)建一個(gè)索引數(shù)組,鍵是0,值是蘋果 $arr=array(0=>'蘋果'); if( isset($arr) ) {print_r($arr);} ?>
用for與foreach可以訪問到數(shù)組里面的元素,因for比較容易下面只舉使用foreach的例子,
<?php $fruit=array('蘋果','香蕉','菠蘿'); foreach($fruit as $key=>$value){ echo '<br>第'.$key.'值是:'.$value; } ?>
運(yùn)行結(jié)果:
第0值是:蘋果 第1值是:香蕉 第2值是:菠蘿
注:這里$key是鍵值$value則是元素值
2、關(guān)聯(lián)數(shù)組
“關(guān)聯(lián)數(shù)組”是一種具有特殊索引方式的數(shù)組。使用字符串或者其他類型的值(除了NULL)來索引它。
其實(shí)關(guān)聯(lián)數(shù)組和索引數(shù)組的差別只是在鍵值上,關(guān)聯(lián)數(shù)組的鍵值是字符串,并且是人為的規(guī)定,例如:
<?php //創(chuàng)建一個(gè)關(guān)聯(lián)數(shù)組,關(guān)聯(lián)數(shù)組的鍵“orange”,值是“橘子” $fruit=array('orange'=>'橘子'); echo $fruit['orange']; ?>
其余初始化,賦值,foreach的用法基本相同。
3、多維數(shù)組
數(shù)據(jù)結(jié)構(gòu)中的概念, 二維數(shù)組以上的數(shù)組,既非線性也非平面的數(shù)組成為多維數(shù)組。
<?php $arr = array( '安徽' => array( '阜陽'=>array('阜南縣','臨泉縣','潁州區(qū)'), '宿州'=>array('墉橋區(qū)','靈璧縣','泗縣'), '合肥'=>array('蜀山區(qū)','長(zhǎng)豐縣','肥東') ), '河南' => array( '洛陽'=>array('西工區(qū)','老城區(qū)','孟津縣'), '鄭州市'=>array('中原區(qū)','金水區(qū)') ) ); print_r($arr); echo $arr['安徽']['宿州'][0]; // 輸出墉橋區(qū) ?>
其中“安徽”對(duì)應(yīng)的是一個(gè)二維數(shù)組,“阜陽”“宿州”“合肥”分別對(duì)應(yīng)一個(gè)一維數(shù)組;同理,“河南”也對(duì)應(yīng)一個(gè)二維數(shù)組?!鞍不铡焙汀昂幽稀狈謩e對(duì)應(yīng)一個(gè)二維數(shù)組,它倆組合起來形成一個(gè)三維數(shù)組。 PHP 中對(duì)多維數(shù)組沒有上限的固定限制,但是隨著維數(shù)的增加,數(shù)組會(huì)越來越復(fù)雜,對(duì)于閱讀調(diào)試和維護(hù)都會(huì)稍微困難些。 以上程序的運(yùn)行結(jié)果為:
Array ( [安徽] => Array ( [阜陽] => Array ( [0] => 阜南縣 [1] => 臨泉縣 [2] => 潁州區(qū) ) [宿州] => Array ( [0] => 墉橋區(qū) [1] => 靈璧縣 [2] => 泗縣 ) [合肥] => Array ( [0] => 蜀山區(qū) [1] => 長(zhǎng)豐縣 [2] => 肥東 ) ) [河南] => Array ( [洛陽] => Array ( [0] => 西工區(qū) [1] => 老城區(qū) [2] => 孟津縣 ) [鄭州市] => Array ( [0] => 中原區(qū) [1] => 金水區(qū) ) ) ) 墉橋區(qū)
以上是“php數(shù)組的類型有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。