詳解PHP中數(shù)組函數(shù)的知識(shí)點(diǎn)
概念
關(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)容稱(chēng)之為下標(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ù)組 //訪(fǎng)問(wèn)一維元素:$arr[一維下標(biāo)] $arr[0]; //訪(fǎng)問(wèn)二位元素:$arr[一維下標(biāo)][二維下標(biāo)] $arr[1]['name']; ?>
foreach遍歷語(yǔ)法
foreach($數(shù)組變量 as[$下標(biāo)=>]$值){ //通過(guò)$下標(biāo)訪(fǎng)問(wèn)元素的下標(biāo),通過(guò)$值訪(fǎng)問(wèn)元素的值 }
通常:如果是關(guān)聯(lián)數(shù)組(字母下標(biāo)),就需要下標(biāo),如果是數(shù)字下標(biāo)就直接訪(fǎng)問(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)文章
Ping服務(wù)的php實(shí)現(xiàn)方法,讓網(wǎng)站快速被收錄
這篇博文繼續(xù)說(shuō)說(shuō)這個(gè)ping服務(wù)的問(wèn)題,首先歸納和總結(jié)以下資料2012-02-02php.ini save_handler 修改不生效的解決辦法
這篇文章主要介紹了php.ini save_handler 修改不生效的解決辦法,需要的朋友可以參考下2014-07-07PHP 檢查擴(kuò)展庫(kù)或函數(shù)是否可用的代碼
隨著版本的升高,PHP的功能也越來(lái)越完善,可用的擴(kuò)展庫(kù)和函數(shù)也越來(lái)越多,因此,我們寫(xiě)程序時(shí)也要考慮版本的兼容問(wèn)題,同時(shí)還要考慮服務(wù)器(特別是虛擬主機(jī))是否安裝了擴(kuò)展庫(kù)。2010-04-04PHP 遠(yuǎn)程文件管理,可以給表格排序,遍歷目錄,時(shí)間排序
PHP 遠(yuǎn)程文件管理,可以給表格排序,遍歷目錄,時(shí)間排序 點(diǎn)擊表格第一行,頭部就可以排序了,這個(gè)列子是當(dāng)前目錄的2009-08-08