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

php常用數(shù)據(jù)處理函數(shù) php語(yǔ)法和常用的函數(shù)

用自己的語(yǔ)言說(shuō)出php中數(shù)組的常用函數(shù)和用法?

array_filter : 過(guò)濾數(shù)組中的無(wú)效元素,可以使用回調(diào)函數(shù)過(guò)濾

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)虛擬主機(jī)、營(yíng)銷軟件、網(wǎng)站建設(shè)、紫陽(yáng)網(wǎng)站維護(hù)、網(wǎng)站推廣。

array_map : 使用回調(diào)函數(shù)依次處理所有元素

implode: 將一維數(shù)組轉(zhuǎn)為特定符號(hào)隔開(kāi)的字符串,

explode:? 將特定符號(hào)隔開(kāi)的字符串轉(zhuǎn)為一維數(shù)組

sort /ksort: 將數(shù)組進(jìn)行升序排序

array_unique: 將數(shù)組元素去重

array_values:? 取數(shù)組的值,重新組成新數(shù)組

array_pop: 取數(shù)組末尾元素并刪除(隊(duì)列)

array_push:將一個(gè)元素插入數(shù)組末尾(隊(duì)列)

array_sum:統(tǒng)計(jì)數(shù)組元素的和

array_column:將二維數(shù)組中的指定KEY取出組成一個(gè)一維數(shù)組

網(wǎng)頁(yè)鏈接

PHP 關(guān)聯(lián)數(shù)組操作太麻煩,試試 WPJAM Basic 內(nèi)置的數(shù)組處理函數(shù)

PHP 有很多非常好用的數(shù)組處理函數(shù),PHP 數(shù)組函數(shù)官方文檔都有 80 多個(gè),但是在使用過(guò)程,有一些數(shù)組的操作使用比較多,我就把這些函數(shù)整理成工具函數(shù),然后整合到 WPJAM Basic 中,方便自己的二次開(kāi)放時(shí)候使用,現(xiàn)在整理放出來(lái),如果你和我一樣基于 WPJAM Basic 進(jìn)行二次開(kāi)發(fā),也可以使用:

PHP 從關(guān)聯(lián)數(shù)組中移除指定的鍵值對(duì),一般使用 unset 函數(shù),比如:

如果要移除多個(gè)鍵值對(duì),就要調(diào)用多次的 unset 函數(shù),所以就合并成一個(gè)函數(shù) :

這樣就可以通過(guò)下面方式移除鍵值對(duì)了:

如果僅僅移除一個(gè)鍵值對(duì),還可以直接傳遞字符串:

我們使用 array_filter 對(duì)數(shù)組進(jìn)行過(guò)濾的時(shí)候,是不會(huì)遞歸調(diào)用的,意思如果其中元素也是數(shù)組的時(shí)候,是不會(huì)進(jìn)行同樣的過(guò)濾的操作。

輸出結(jié)果為:

但是我們?cè)谝恍?shù)據(jù)處理的時(shí)候,比如后臺(tái)字段提交的時(shí)候,我們希望過(guò)濾掉 null 的值,如果元素也是一個(gè)關(guān)聯(lián)數(shù)組的時(shí)候,我們希望關(guān)聯(lián)數(shù)組元素中的 null 的值也會(huì)過(guò)濾掉。所以我們就寫(xiě)了 wpjam_array_filter 這個(gè)函數(shù),實(shí)現(xiàn) array_filter 遞歸調(diào)用:

同樣的數(shù)組:

輸出結(jié)果為:

PHP 的 array_filter() 函數(shù)讓我們可以通過(guò)回調(diào)函數(shù)來(lái)過(guò)濾數(shù)組,但是返回的是過(guò)濾后的數(shù)組,但是很多時(shí)候,我們只是簡(jiǎn)單的要求 返回過(guò)濾之后數(shù)組的第一個(gè)元素 :

使用非常簡(jiǎn)單的:

如果我們要合并的數(shù)組是多維的關(guān)聯(lián)數(shù)組,那么使用 array_merge_recursive() 函數(shù)進(jìn)行合并的話,不會(huì)進(jìn)行鍵名覆蓋,而是將多個(gè)相同鍵名的值遞歸合并成一個(gè)數(shù)組。

輸出結(jié)果:

其實(shí)我們希望子數(shù)組里面的相同的值覆蓋,據(jù)此我們寫(xiě)了一個(gè)函數(shù),用來(lái)深度合并多維數(shù)組:

相同的數(shù)組進(jìn)行合并:

得到的結(jié)果是:

一般不推薦使用 wpjam_array_merge 對(duì)多維索引數(shù)組進(jìn)行合并。

要從關(guān)聯(lián)數(shù)組中移除并返回指定的鍵值,一般需要兩步操作,先取出,然后 unset 數(shù)組中的鍵值對(duì):

如果每次都這么操作,有點(diǎn)煩人,所以就把這兩個(gè)步驟合成一個(gè)函數(shù),并且還可以設(shè)置數(shù)組中無(wú)此鍵對(duì)應(yīng)的元素的時(shí)候的默認(rèn)值。

然后直接調(diào)用即可:

PHP 關(guān)聯(lián)數(shù)組可以通過(guò)三種方式插入新元素:

由此可見(jiàn),關(guān)聯(lián)數(shù)組插入元素是無(wú)法指定位置的,只能插在最前或者最后面,所以這個(gè)函數(shù)就是實(shí)現(xiàn) 向關(guān)聯(lián)數(shù)組插入 元素時(shí)候指定的 Key 之前 :

比如下面在 $columns 的 'author' 之前插入 ['page_title'='頁(yè)面標(biāo)題'] :

PHP處理數(shù)組常用的幾個(gè)函數(shù)

一、數(shù)組操作的基本函數(shù)

數(shù)組的鍵名和值

array_values($arr); 獲得數(shù)組的值

array_keys($arr); 獲得數(shù)組的鍵名

array_flip($arr); 數(shù)組中的值與鍵名互換(如果有重復(fù)前面的會(huì)被后面的覆蓋)

in_array("apple",$arr); 在數(shù)組中檢索apple

array_search("apple",$arr); 在數(shù)組中檢索apple ,如果存在返回鍵名

array_key_exists("apple",$arr); 檢索給定的鍵名是否存在數(shù)組中

isset($arr[apple]): 檢索給定的鍵名是否存在數(shù)組中

數(shù)組的內(nèi)部指針

current($arr); 返回?cái)?shù)組中的當(dāng)前單元

pos($arr); 返回?cái)?shù)組中的當(dāng)前單元

key($arr); 返回?cái)?shù)組中當(dāng)前單元的鍵名

prev($arr); 將數(shù)組中的內(nèi)部指針倒回一位

next($arr); 將數(shù)組中的內(nèi)部指針向前移動(dòng)一位

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

reset($arr; 將數(shù)組中的內(nèi)部指針指向第一個(gè)單元

each($arr); 將返回?cái)?shù)組當(dāng)前元素的一個(gè)鍵名/值的構(gòu)造數(shù)組,并使數(shù)組指針向前移動(dòng)一位

list($key,$value)=each($arr); 獲得數(shù)組當(dāng)前元素的鍵名和值

數(shù)組和變量之間的轉(zhuǎn)換

extract($arr);用于把數(shù)組中的元素轉(zhuǎn)換成變量導(dǎo)入到當(dāng)前文件中,鍵名當(dāng)作變量名,值作為變量值

注:(第二個(gè)參數(shù)很重要,可以看手冊(cè)使用)使用方法 echo $a;

compact(var1,var2,var3);用給定的變量名創(chuàng)建一個(gè)數(shù)組

二、數(shù)組的分段和填充

數(shù)組的分段

array_slice($arr,0,3); 可以將數(shù)組中的一段取出,此函數(shù)忽略鍵名

array_splice($arr,0,3,array("black","maroon")); 可以將數(shù)組中的一段取出,與上個(gè)函數(shù)不同在于返回的序列從原數(shù)組中刪除

分割多個(gè)數(shù)組

array_chunk($arr,3,TRUE); 可以將一個(gè)數(shù)組分割成多個(gè),TRUE為保留原數(shù)組的鍵名

數(shù)組的填充

array_pad($arr,5,'x'); 將一個(gè)數(shù)組填補(bǔ)到制定長(zhǎng)度

三、數(shù)組與棧

array_push($arr,"apple","pear"); 將一個(gè)或多個(gè)元素壓入數(shù)組棧的末尾(入棧),返回入棧元素的個(gè)數(shù)

array_pop($arr); 將數(shù)組棧的最后一個(gè)元素彈出(出棧)

四、數(shù)組與列隊(duì)

array_shift($arr);數(shù)組中的第一個(gè)元素移出并作為結(jié)果返回(數(shù)組長(zhǎng)度減1,其他元素向前移動(dòng)一位,數(shù)字鍵名改為從零技術(shù),文字鍵名不變)

array_unshift($arr,"a",array(1,2));在數(shù)組的開(kāi)頭插入一個(gè)或多個(gè)元素

五、回調(diào)函數(shù)

array_walk($arr,'function','words'); 使用用戶函數(shù)對(duì)數(shù)組中的每個(gè)成員進(jìn)行處理(第三個(gè)參數(shù)傳遞給回調(diào)函數(shù)function)

array_mpa("function",$arr1,$arr2); 可以處理多個(gè)數(shù)組(當(dāng)使用兩個(gè)或更多數(shù)組時(shí),他們的長(zhǎng)度應(yīng)該相同)

array_filter($arr,"function"); 使用回調(diào)函數(shù)過(guò)濾數(shù)組中的每個(gè)元素,如果回調(diào)函數(shù)為T(mén)RUE,數(shù)組的當(dāng)前元素會(huì)被包含在返回的結(jié)果數(shù)組中,數(shù)組的鍵名保留不變

array_reduce($arr,"function","*"); 轉(zhuǎn)化為單值函數(shù)(*為數(shù)組的第一個(gè)值)

六、數(shù)組的排序

通過(guò)元素值對(duì)數(shù)組排序

sort($arr); 由小到大的順序排序(第二個(gè)參數(shù)為按什么方式排序)忽略鍵名的數(shù)組排序

rsort($arr); 由大到小的順序排序(第二個(gè)參數(shù)為按什么方式排序)忽略鍵名的數(shù)組排序

usort($arr,"function"); 使用用戶自定義的比較函數(shù)對(duì)數(shù)組中的值進(jìn)行排序(function中有兩個(gè)參數(shù),0表示相等,正數(shù)表示第一個(gè)大于第二個(gè),負(fù)數(shù)表示第一個(gè)小于第二個(gè))忽略鍵名的數(shù)組排序

asort($arr); 由小到大的順序排序(第二個(gè)參數(shù)為按什么方式排序)保留鍵名的數(shù)組排序

arsort($arr); 由大到小的順序排序(第二個(gè)參數(shù)為按什么方式排序)保留鍵名的數(shù)組排序

uasort($arr,"function"); 使用用戶自定義的比較函數(shù)對(duì)數(shù)組中的值進(jìn)行排序(function中有兩個(gè)參數(shù),0表示相等,正數(shù)表示第一個(gè)大于第二個(gè),負(fù)數(shù)表示第一個(gè)小于第二個(gè))保留鍵名的數(shù)組排序

通過(guò)鍵名對(duì)數(shù)組排序

ksort($arr); 按照鍵名正序排序

krsort($arr); 按照鍵名逆序排序

uksort($arr,"function"); 使用用戶自定義的比較函數(shù)對(duì)數(shù)組中的鍵名進(jìn)行排序(function中有兩個(gè)參數(shù),0表示相等,正數(shù)表示第一個(gè)大于第二個(gè),負(fù)數(shù)表示第一個(gè)小于第二個(gè))

自然排序法排序

natsort($arr); 自然排序(忽略鍵名)

natcasesort($arr); 自然排序(忽略大小寫(xiě),忽略鍵名)

七、數(shù)組的計(jì)算

數(shù)組元素的求和

array_sum($arr); 對(duì)數(shù)組內(nèi)部的所有元素做求和運(yùn)算

數(shù)組的合并

array_merge($arr1,$arr2); 合并兩個(gè)或多個(gè)數(shù)組(相同的字符串鍵名,后面的覆蓋前面的,相同的數(shù)字鍵名,后面的不會(huì)做覆蓋操作,而是附加到后面)

“+”$arr1+$arr2; 對(duì)于相同的鍵名只保留后一個(gè)

array_merge_recursive($arr1,$arr2); 遞歸合并操作,如果數(shù)組中有相同的字符串鍵名,這些值將被合并到一個(gè)數(shù)組中去。如果一個(gè)值本身是一個(gè)數(shù)組,將按照相應(yīng)的鍵名把它合并為另一個(gè)數(shù)組。當(dāng)數(shù)組 具有相同的數(shù)組鍵名時(shí),后一個(gè)值將不會(huì)覆蓋原來(lái)的值,而是附加到后面

數(shù)組的差集

array_diff($arr1,$arr2); 返回差集結(jié)果數(shù)組

array_diff_assoc($arr1,$arr2,$arr3); 返回差集結(jié)果數(shù)組,鍵名也做比較

數(shù)組的交集

array_intersect($arr1,$arr2); 返回交集結(jié)果數(shù)組

array_intersect_assoc($arr1,$arr2); 返回交集結(jié)果數(shù)組,鍵名也做比較

八、其他的數(shù)組函數(shù)

range(0,12); 創(chuàng)建一個(gè)包含指定范圍單元的數(shù)組

array_unique($arr); 移除數(shù)組中重復(fù)的值,新的數(shù)組中會(huì)保留原始的鍵名

array_reverse($arr,TRUE); 返回一個(gè)單元順序與原數(shù)組相反的數(shù)組,如果第二個(gè)參數(shù)為T(mén)RUE保留原來(lái)的鍵名

//srand((float)microtime()*10000000); 隨機(jī)種子觸發(fā)器

array_rand($arr,2); 從數(shù)組中隨機(jī)取出一個(gè)或 多個(gè)元素

shuffle($arr); 將數(shù)組的順序打亂

求課吧有很多關(guān)于PHP編程方面的教程

PHP常用函數(shù)有哪些

常用函數(shù)比較多

如:字符串處理函數(shù),數(shù)組函數(shù),日期函數(shù),MySQL函數(shù),文件系統(tǒng)函數(shù),GD函數(shù)庫(kù)等

php常用字符串處理函數(shù)實(shí)例分析

本文實(shí)例講述了php常用字符串處理函數(shù)。分享給大家供大家參考。具體分析如下:

這里只提供幾個(gè)簡(jiǎn)單常用的函數(shù):

chop執(zhí)行去除空格處理,get_html_translation_table返回轉(zhuǎn)化列表到變量,定義包括HTML編碼的字符串htmlentities,htmlspecialchars_decode

定義包含HTML特殊字符的字符串,nl2br

quotemeta

rtrim等.

定義和用法:chop()

函數(shù)從字符串的末端開(kāi)始刪除空白字符或其他預(yù)定義字符,該函數(shù)的

rtrim()

函數(shù)的別名.

語(yǔ)法:chop(string,charlist),代碼如下:

復(fù)制代碼

代碼如下:$str="i'm

a

teacher

";

//定義字符串

$result=chop($str);

//執(zhí)行去除空格處理

echo

$result;

//輸出結(jié)果

定義和用法:get_html_translation_table()

函數(shù)返回被

htmlentities()

htmlspecialchars()

函數(shù)使用的翻譯表.

語(yǔ)法:get_html_translation_table(function,quotestyle),代碼如下:

復(fù)制代碼

代碼如下:

$trans=get_html_translation_table(html_entities);

//返回轉(zhuǎn)化列表到變量

print_r($trans);

//輸出轉(zhuǎn)換表

$str="hallo

frau

krmer";

//定義字符串

$encoded=strtr($str,$trans);

//查找字符

echo

$encoded;

//輸出結(jié)果

//

$str="a

'quote'

is

bbold/b";

//定義包括html編碼的字符串

echo

htmlentities($str);

//輸出經(jīng)過(guò)處理的字符串

echo

htmlentities($str,

ent_quotes);

//加上可選參數(shù)后的輸出結(jié)果

//

$str='pthis

-

"/p';

//定義包含html特殊字符的字符串

echo

htmlspecialchars_decode($str);

//輸出轉(zhuǎn)換后的內(nèi)容

echo

"br";

echo

htmlspecialchars_decode($str,ent_noquotes);

//不對(duì)引號(hào)進(jìn)行編碼的輸出結(jié)果

//

$str="cat

isn't

n

dog";

//定義包含換行符的字符串

$result=nl2br($str);

//執(zhí)行轉(zhuǎn)換操作

echo

$result;

//輸出轉(zhuǎn)換后的結(jié)果

//

$str="hello

world.(can

you

hear

me?)";

//定義包含元字符的字符串

$result=quotemeta($str);

//執(zhí)行轉(zhuǎn)換操作

echo

$result;

//輸出轉(zhuǎn)換后的結(jié)果

//

$str="hello

world

";

//定義末尾有空格的字符串

$result=rtrim($str);

//執(zhí)行轉(zhuǎn)換操作

echo

$result;

//輸出轉(zhuǎn)換后的結(jié)果

希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。

標(biāo)題名稱:php常用數(shù)據(jù)處理函數(shù) php語(yǔ)法和常用的函數(shù)
文章分享:http://chinadenli.net/article2/hgpooc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)營(yíng)銷型網(wǎng)站建設(shè)標(biāo)簽優(yōu)化電子商務(wù)品牌網(wǎng)站設(shè)計(jì)品牌網(wǎng)站建設(shè)

廣告

聲明:本網(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)站