詳解PHP中數(shù)組函數(shù)的知識(shí)點(diǎn)
目錄
- 概念
- 數(shù)組定義語(yǔ)法
- 多維數(shù)組
- 1.二維數(shù)組
- 2.多維數(shù)組
- 3.異形數(shù)組
- 數(shù)組遍歷
- foreach遍歷語(yǔ)法
- for循環(huán)遍歷數(shù)組
- 數(shù)組的排序函數(shù)
概念
關(guān)鍵字:array,數(shù)據(jù)的組合(多個(gè))存儲(chǔ)到一個(gè)指定的容器中,用變量指向該容器,然后可以通過(guò)變量一次性得到該容器中的所有數(shù)據(jù).
數(shù)組定義語(yǔ)法
1.使用array關(guān)鍵字(最常用)
$變量=array(元素1,元素2,元素3);
2.可以使用中括號(hào)來(lái)包裹數(shù)據(jù)
$變量=[元素1,元素2...];
3.隱形定義數(shù)組:給變量增加一個(gè)中括號(hào),系統(tǒng)自動(dòng)變成數(shù)組
$變量[]=值1;
$變量[下標(biāo)]=值//中括號(hào)里面的內(nèi)容稱之為下標(biāo)key,該下標(biāo)可以是字母(單詞)或者數(shù)字,與變量命名的規(guī)則相似
如下:
1.
<?php$arr1=array("1",2,"hello");var_dump($arr1);?>
2.
<?php$arr1=["1",2,"hello"];var_dump($arr1);?>
3.
<?php$arr3[]=1;$arr3[10]=100;$arr3[]="1";$arr3["key"]="key";var_dump($arr3);?>
默認(rèn)下標(biāo)是從當(dāng)前前面最大的開(kāi)始(自動(dòng))
數(shù)組元素的順序以放入順序?yàn)闇?zhǔn)備,跟下標(biāo)無(wú)關(guān)
多維數(shù)組
1.二維數(shù)組
數(shù)組中所有的元素都是一維數(shù)組
<?php$info=array( array("name"=>"jim","age"=>30), array("name"=>"tom","age"=>28), array("name"=>"lily","age"=>20));echo"<pre>";print_r($info);?>
2.多維數(shù)組
在第二維的數(shù)組元素中可以繼續(xù)是數(shù)組
3.異形數(shù)組
數(shù)組中元素不規(guī)則,又基本變量也有數(shù)組
數(shù)組遍歷
使數(shù)組中所有的數(shù)據(jù)依次輸出出來(lái),使用一些簡(jiǎn)化的規(guī)則來(lái)實(shí)現(xiàn)自動(dòng)獲取下標(biāo)以及輸出數(shù)組元素
<?php$arr=array(0=>array("name"=>"Tom"),1=>array("name"=>"jam"));//二維數(shù)組//訪問(wèn)一維元素:$arr[一維下標(biāo)]$arr[0];//訪問(wèn)二位元素:$arr[一維下標(biāo)][二維下標(biāo)]$arr[1]["name"];?>
foreach遍歷語(yǔ)法
foreach($數(shù)組變量 as[$下標(biāo)=>]$值){ //通過(guò)$下標(biāo)訪問(wèn)元素的下標(biāo),通過(guò)$值訪問(wèn)元素的值}
通常:如果是關(guān)聯(lián)數(shù)組(字母下標(biāo)),就需要下標(biāo),如果是數(shù)字下標(biāo)就直接訪問(wèn)值
<?php$arr=array(1,2,3,4,5,6,7,8,9);foreach($arr as $v){ //$v隨意命名 echo $v,"<br/>";}?>
如想獲取下標(biāo):
<?php$arr=array(1,2,3,4,5,6,7,8,9,10);foreach($arr as $k => $v){ //$v隨意命名 echo "key:",$k,"==value:",$v,"<br/>";}?>
foreach遍歷的原理:本質(zhì)是數(shù)組的內(nèi)部有一顆指針,默認(rèn)指向數(shù)組元素的第一個(gè)元素,foreach就是利用指針去獲取數(shù)據(jù),同時(shí)移動(dòng)指針
步驟:
1.foreach會(huì)重置指針:讓指針指向第一個(gè)元素
2.進(jìn)入foreach循環(huán):通過(guò)指針取得當(dāng)前第一個(gè)元素,然后將下標(biāo)取出放到對(duì)應(yīng)的下標(biāo)遍歷k中,將值取出來(lái)放到對(duì)應(yīng)的值變量 $v中,然后指針下移
3.進(jìn)入循環(huán)內(nèi)部(循環(huán)體),開(kāi)始執(zhí)行
4.重復(fù)2和3,直到在2的時(shí)候遇到執(zhí)政娶不到內(nèi)容(指針指向數(shù)組最后)
for循環(huán)遍歷數(shù)組
1.獲取數(shù)組長(zhǎng)度:count(數(shù)組)得到數(shù)組的長(zhǎng)度
2.要求數(shù)組元素的下標(biāo)是規(guī)律的數(shù)字
<?php$arr=array(1,2,3,4,5,6,7,10);for($i=0;$i<count($arr);$i++)echo "key is:",$i,"and value is:",$arr[$i],"<br/>";?>
數(shù)組的排序函數(shù)
對(duì)數(shù)組元素進(jìn)行排序,都是按照ASCLL碼進(jìn)行比較,所以可進(jìn)行英文比較(這里一組一個(gè)例子)
一:sort():順序排序(下標(biāo)重排)
rsort():逆序排序
<?php$arr=array(3,1,5,2,0);echo "<pre>";sort($arr);//此后只需改變函數(shù)關(guān)鍵字即可進(jìn)行各種排序print_r($arr);?>
二:asort():順序排序(下標(biāo)保留)
arsort():逆序排序
三:ksort():順序排序:按照鍵名(下標(biāo))
krsort():逆序排序
四:shuffle():隨機(jī)打亂數(shù)組元素,數(shù)組下標(biāo)重排
到此這篇關(guān)于詳解PHP中數(shù)組函數(shù)的知識(shí)點(diǎn)的文章就介紹到這了,更多相關(guān)PHP數(shù)組函數(shù)內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
相關(guān)文章:
1. PHP數(shù)組array類常見(jiàn)操作示例2. PHP數(shù)組的分析3. PHP數(shù)組排序4. PHP數(shù)組與字符串互相轉(zhuǎn)換實(shí)例5. php數(shù)組函數(shù)序列之sort() 對(duì)數(shù)組的元素值進(jìn)行升序6. PHP數(shù)組基礎(chǔ)7. PHP數(shù)組操作詳細(xì)解釋8. 刪除數(shù)組元素實(shí)用的PHP數(shù)組函數(shù)9. PHP數(shù)組基本用法與知識(shí)點(diǎn)總結(jié)10. PHP數(shù)組訪問(wèn)常用方法解析
