欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

PHP數(shù)組處理函數(shù)舉例-創(chuàng)新互聯(lián)

在PHP中,存儲(chǔ)在數(shù)組中的值成為數(shù)組元素,數(shù)組有一維數(shù)組和多維數(shù)組之分,每個(gè)數(shù)組元素的索引也稱為關(guān)鍵字,訪問數(shù)組元素可以通過索引。數(shù)組處理函數(shù)舉例如下:

十載的建始網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整建始建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“建始網(wǎng)站設(shè)計(jì)”,“建始網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

一.創(chuàng)建數(shù)組

1.使用array()函數(shù)創(chuàng)建數(shù)組:array array([$key=>]$value,...)

$key=>$value,定義了關(guān)鍵字的鍵名和值,自定義鍵名可以字符串或數(shù)字。如果省略鍵名,函數(shù)會(huì)自動(dòng)產(chǎn)生從0開始的整數(shù)作為鍵名。如果只對(duì)某個(gè)給出的值沒有指定鍵名,則鍵名取該值前面大的整數(shù)鍵名+1后的值。

注意:①可以使用print_r()函數(shù)打印數(shù)組。print_r()函數(shù)語(yǔ)法:bool print_r(mixed expression [,bool return]).如果想捕捉print_r()的輸出,可使用return函數(shù),此參數(shù)設(shè)為true,print_r()將不打印結(jié)果,而是返回其輸出;

②如果數(shù)組定義了兩個(gè)完全一樣的鍵名,則后面一個(gè)會(huì)覆蓋前面一個(gè);

③要使用數(shù)組中某個(gè)值,可以使用$array["鍵名"]的形式;

④可以使用count()和sizeof()函數(shù)獲取數(shù)組元素的個(gè)數(shù)。

2.使用變量創(chuàng)建數(shù)組

compact()函數(shù)可以把一個(gè)或多個(gè)變量,甚至數(shù)組,建立成數(shù)組元素,這些數(shù)組元素的鍵名就是變量的變量名,值是變量的值:array compact(mixed $varname [,mixed...])

每個(gè)$varname可以是一個(gè)包括變量名的字符串或者是一個(gè)包含變量名的數(shù)組。對(duì)每個(gè)參數(shù),compact()在當(dāng)前的符號(hào)表中查找該變量名并將它添加到輸出的數(shù)組中,變量名成為鍵名,變量的內(nèi)容成為該鍵的值,任何沒有變量名與之對(duì)應(yīng)的字符串都被忽略。

extract()函數(shù)可以將數(shù)組中的單元(鍵值)轉(zhuǎn)化為變量。

3.使用兩個(gè)數(shù)組創(chuàng)建一個(gè)數(shù)組:array_combin()

array array_combin(array $key,array $values)

array_combin()函數(shù)用$key數(shù)組中的值作為鍵名,用$values數(shù)組中的值作為相應(yīng)的值,最后返回一個(gè)新的數(shù)組。

4.建立指定范圍的數(shù)組:range()

array range(mixed $low,mixed $high [,number $step])

$low為數(shù)組開始元素的值,$high為數(shù)組結(jié)束元素的值。如果$low>$high,則序列將從$high到$low。$step是單元之間的步進(jìn)值,$step應(yīng)該為正值,默認(rèn)為1。range()函數(shù)返回一個(gè)數(shù)組,數(shù)組元素的值就是從$low到$high之間的值。

5.還可以自動(dòng)建立數(shù)組。

二.鍵值操作

1.檢查數(shù)組中是否存在某個(gè)鍵名和值可以使用array_key_exists()和in_array()函數(shù),兩者都為布爾型,存在則返回true,不存在則返回false。

isset()函數(shù)也可以用來(lái)檢查數(shù)組中的鍵名是否存在,但是如果檢查的鍵名對(duì)應(yīng)的值為NULL,isset()函數(shù)返回False,而array_key_exists()返回的是true。

2.array_search()函數(shù)也可以用于檢查數(shù)組中的值是否存在,當(dāng)值存在時(shí)返回這個(gè)值得鍵名,若不存在則返回NULL。

3.key()函數(shù)可以取得數(shù)組當(dāng)前單元的鍵名

next()函數(shù)返回?cái)?shù)組下一個(gè)單元的值,并將數(shù)組中的內(nèi)部指針向前移動(dòng)一位,如果已經(jīng)到了數(shù)組的末端,則返回FALSE,prev()函數(shù)是將數(shù)組中的內(nèi)部指針向后移動(dòng)一位。

end($array):表示將數(shù)組中的內(nèi)部指針指向最后一個(gè)單元;

reset($array):表示將數(shù)組中的內(nèi)部指針指向第一個(gè)單元,即重置數(shù)組的指針;

each($array):表示返回當(dāng)前的鍵名和值,并向數(shù)組指針向下移動(dòng)一位。

4.list()函數(shù)可以將數(shù)組中的值賦給制定的變量。list()函數(shù)從數(shù)組的第一個(gè)值開始依次將值賦給函數(shù)中對(duì)應(yīng)的變量,如果變量個(gè)數(shù)小于數(shù)組中的元素個(gè)數(shù),則只賦值數(shù)組中和變量相等個(gè)數(shù)的元素。list()函數(shù)僅能用于鍵名為數(shù)組的數(shù)組并假定數(shù)字鍵名從0開始,如果鍵名不是連續(xù)的數(shù)字,則極有可能發(fā)生錯(cuò)誤。

5.使用array_fill()和array_fill_keys()函數(shù)可以用給定的值填充數(shù)組的值和鍵名

array array_fill(int $start_index,int $num,mixed $value)

array_fill()函數(shù)用參數(shù)$value的值將一個(gè)數(shù)組從第$start_index個(gè)單元開始,填充$num個(gè)單元。$num必須是一個(gè)大于零的數(shù)值,否則PHP會(huì)發(fā)出一條警告。

array array_fill_keys(array $keys ,mixed $value)

array_fill_keys函數(shù)用給定的數(shù)組$keys中的值作為鍵名,$value作為值,并返回新數(shù)組。

6.array_filp()函數(shù)可以交換數(shù)組中的鍵名和值。

數(shù)組中的值必須可作為合法的鍵名才能夠使用該函數(shù)進(jìn)行交換,另外如果交換前數(shù)組中有相同的值,則相同的值轉(zhuǎn)換為鍵名后,值保留最后一個(gè)。

7.array_keys()和array_values()可以取得數(shù)組中所有的鍵名和值,并保存到一個(gè)新的數(shù)組中。

8.array_splice()函數(shù)可以將數(shù)組中的一個(gè)或多個(gè)單元?jiǎng)h除并用其他值代替

array array_splice(array $input ,int $offset [,int $length[,array $replacement]])

array_splice()函數(shù)把$input數(shù)組中由$offset和$length指定的單元去掉,如果提供了$replacement參數(shù),則用$replacement中的值替代被移除的單元,最后返回一個(gè)包含有被移除單元的數(shù)組。

$offset是指定的偏移量,如果$offset為正,則從$input數(shù)組中該指定的偏移量開始移除。如果$offset為負(fù),則從$input末尾倒數(shù)該值指定的偏移量開始移除。

$length是指定刪除的單元數(shù),如果省略$length,則移除數(shù)組中從$offset到結(jié)尾的所有部分。如果指定了$length并且為正值,則移除$offset后$length個(gè)單元,如果指定了$length并且為負(fù)值,則移除從$offset到數(shù)組末尾倒數(shù)$length個(gè)為止的所有的單元。當(dāng)給出了$replacement時(shí)要移除從$offset到數(shù)組末尾所有單元室,可以用count($input)作為$length。

如果給出了$relpacement數(shù)組,則被移除的單元被此數(shù)組中的單元替代。如果指定的$offset和$length的組合結(jié)果不會(huì)移除任何值,則$replacement數(shù)組中的單元將被插入到$offset指定的位置。如果用來(lái)替換的值只有一個(gè)單元,那么不需要給它加上"array",除非該單元本身就是一個(gè)數(shù)組。

9.array_unique()函數(shù)可以移除數(shù)組中重復(fù)的值,返回一個(gè)新的數(shù)組,并不會(huì)破壞原來(lái)的數(shù)組。

三.數(shù)組的遍歷和輸出

1.使用while循環(huán)訪問數(shù)組

while循環(huán)、list()和each()函數(shù)結(jié)合就可以實(shí)現(xiàn)對(duì)數(shù)組的遍歷。list()函數(shù)的作用是將數(shù)組中的值賦給變量,each()函數(shù)的作用是返回當(dāng)前的健名和值,并將數(shù)組指針向下移動(dòng)一位。

2.使用for循環(huán)訪問數(shù)組

使用for循環(huán)只能訪問鍵名是有序的整型的數(shù)組。

3.使用foreach循環(huán)訪問數(shù)組

foreach循環(huán)是一個(gè)專門用于遍歷數(shù)組的循環(huán)。

foreach (array_expression as $value)

    //代碼段

foreach(array_expression as $key=>$value)

    //代碼段

第一種格式遍歷給定的array_expression數(shù)組。每次循環(huán)中,當(dāng)前單元的值被賦給變量$value并且數(shù)組內(nèi)部的指針向前移一步(下一次循環(huán)將會(huì)得到下一個(gè)單元)。第二種格式做同樣的事,只是當(dāng)前單元的鍵名也會(huì)在每次循環(huán)中被賦給變量$key。

四.數(shù)組的排序

1.升序

①sort()函數(shù)可以對(duì)已經(jīng)定義的數(shù)組進(jìn)行排序,使得數(shù)組單元按照數(shù)組值從低到高重新索引。

bool sort(array $array [,int $sort_flags])

如果排序成功,返回TRUE,否則返回FALSE。$array是要排序的數(shù)組,$sort_flags的值可以影響排序的行為,$sort_flags可以取一下4個(gè)值。

SORT_REGULAR:正常比較單元,默認(rèn)

SORT_NUMERIC:單元被作為數(shù)字來(lái)比較

SORT_STRING:單元被作為字符串來(lái)比較

SORT_LOCAL_STRING:根據(jù)當(dāng)前的區(qū)域設(shè)置把單元當(dāng)作字符串比較。

sort()函數(shù)不僅對(duì)數(shù)組進(jìn)行排序,同時(shí)刪除了原來(lái)的鍵名,并重新分配自動(dòng)索引的鍵名。

②asort()函數(shù)也可以對(duì)數(shù)組的值進(jìn)行升序排序,使用asort()函數(shù)排序后的數(shù)組還保持鍵名和值之間的關(guān)聯(lián)。

③ksort()函數(shù)用于對(duì)數(shù)組的鍵名進(jìn)行排序,排序后鍵名和值的關(guān)聯(lián)不改變。

2.反向

降序排序可使用rsort()、arsort()、krsort()函數(shù)。

rsort()函數(shù)按數(shù)組中的值降序排序,并將數(shù)組鍵名修改為一維數(shù)字鍵名;arsort()函數(shù)將數(shù)組中的值按降序排序,不改變鍵名和值之間的關(guān)聯(lián);krsort()函數(shù)將數(shù)組中的鍵名按降序排序。

3.對(duì)多維數(shù)組排序

array_multisort()函數(shù)可以一次對(duì)多個(gè)數(shù)組排序,或根據(jù)多維數(shù)組的一維或多維對(duì)多維數(shù)組進(jìn)行排序。

bool array_multisort(array $ar1[,mixed $arg[,mixed $...[, array $...]]])

第一個(gè)參數(shù)必須是一個(gè)數(shù)組,接下來(lái)的每個(gè)參數(shù)可以是數(shù)組或者是下面列出的排序標(biāo)志。

排序順序標(biāo)志:

SORT_ASC:默認(rèn)值,按照升序排序

SORT_DESC:按照降序順序排序

排序類型標(biāo)志:

SORT_REGULAR:默認(rèn)值,按照通常方法比較

SORT_NUMERIC:按照數(shù)值比較

SORT_STRING:按照字符串比較

每個(gè)數(shù)組之后不能制定兩個(gè)同類的排序標(biāo)志,每個(gè)數(shù)組后面制定的排序標(biāo)志僅對(duì)該數(shù)組有效。

使用array_multisort()函數(shù)排序是字符串鍵名保持不變,但數(shù)字鍵名會(huì)被重新索引。當(dāng)函數(shù)的參數(shù)是一個(gè)數(shù)組列表時(shí),函數(shù)首先對(duì)數(shù)組列表中的第一個(gè)數(shù)組進(jìn)行升序排序,下一個(gè)數(shù)組中值的順序按照對(duì)應(yīng)的第一個(gè)數(shù)組的值的順序排列。

數(shù)組列表中所有數(shù)組的數(shù)組元素一定要相等,否則使用array_multisort()函數(shù)時(shí)會(huì)發(fā)出警告。

4.對(duì)數(shù)組重新排序

shuffle()函數(shù)作用是將數(shù)組用隨機(jī)的順序排列,并刪除原有的鍵名,建立自動(dòng)索引。

array_reverse()函數(shù)是將一個(gè)數(shù)組單元按相反順序排序:array array_reverse(array $array [,bool $preserve_keys])如果$preserve_keys的值為TRUE則保留原來(lái)的鍵名,為FALSE則為數(shù)組重新建立索引。

5.自然排序

natsort()函數(shù)實(shí)現(xiàn)了一個(gè)和人們通常對(duì)字母、數(shù)組、字符串進(jìn)行排序的方法一樣的排序算法,并保持原有鍵/值的關(guān)聯(lián)。稱為“自然排序”。natsort()函數(shù)對(duì)大小寫敏感,natcasesort()函數(shù)也是一個(gè)自然排序函數(shù),但不區(qū)分大小寫

五.其他

1.合并數(shù)組

array_merge()函數(shù)可以將一個(gè)或多個(gè)數(shù)組合并,一個(gè)數(shù)組中的值福建在前一個(gè)數(shù)組的前面,返回作為結(jié)果的數(shù)組。

array array_merge(array $array1[,array $array2[,array $...]])

如果輸入的數(shù)組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個(gè)值。如果數(shù)組中包含數(shù)組鍵名,后面的值將不會(huì)覆蓋原來(lái)的值,而是附加到后面。如果只給了一個(gè)數(shù)組并且該數(shù)組是數(shù)字索引的,則鍵名會(huì)以連續(xù)方式重新索引。

在多維數(shù)組合并時(shí),array_merge()函數(shù)將一維以后的數(shù)組都當(dāng)作一個(gè)單元返回。使用array_merge_recusive()函數(shù)可以在保持現(xiàn)有數(shù)組結(jié)構(gòu)的情況下對(duì)數(shù)組進(jìn)行合并。

2.數(shù)組的棧操作

棧是一種存儲(chǔ)數(shù)據(jù)的結(jié)構(gòu),特點(diǎn)是“后進(jìn)先出”。

出棧操作實(shí)際上刪除了數(shù)組最后一個(gè)單元,使用array_pop()函數(shù)實(shí)現(xiàn);

入棧操作就是將新單元添加到數(shù)組尾部,使用array_push()函數(shù)實(shí)現(xiàn),語(yǔ)法格式為:

int array_push(array $array,mixed $var[,mixed $...])

array_push()函數(shù)將數(shù)組$array當(dāng)成一個(gè)棧,并將傳入的變量$var加到$array的末尾,$array的長(zhǎng)度將根據(jù)入棧變量的數(shù)目而增加。

3.取得數(shù)組當(dāng)前單元

current()函數(shù)能夠獲取數(shù)組內(nèi)部指針指向的單元的值,但不移動(dòng)數(shù)組的內(nèi)部指針。

4.數(shù)組計(jì)算

使用count()、sizeof()函數(shù)可以計(jì)算數(shù)組中元素的個(gè)數(shù),而是用array_count_values()函數(shù)可以計(jì)算數(shù)組中一個(gè)值出現(xiàn)的次數(shù)。語(yǔ)法格式:

array array_count_values(array $input)

array_count_values()函數(shù)返回一個(gè)數(shù)組,該數(shù)組用$input數(shù)組中的值作為鍵名,該值在$input數(shù)組中出現(xiàn)的次數(shù)作為值。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

新聞標(biāo)題:PHP數(shù)組處理函數(shù)舉例-創(chuàng)新互聯(lián)
文章鏈接:http://chinadenli.net/article48/dsgghp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站標(biāo)簽優(yōu)化、手機(jī)網(wǎng)站建設(shè)、虛擬主機(jī)、網(wǎng)站導(dǎo)航、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)