麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > PHP > 正文

php常用經典函數集錦【數組、字符串、棧、隊列、排序等】

2024-05-05 00:11:02
字體:
來源:轉載
供稿:網友

本文實例總結了php常用經典函數。分享給大家供大家參考,具體如下:

數組函數

數組操作

range(start,end)

創(chuàng)建一個數組,值從start開始,一直到end結束 
php,函數,數組,字符串,棧,隊列,排序 
如果range里面的參數是數字,那么他直接按照數字大小的順序排序,如果里面的參數是一個字符,那么他將按照ascii編碼的順序排序。 
php,函數,數組,字符串,棧,隊列,排序

array_merge()

作用:將幾個數組,然后生成一個新的數組。 
如果合并數組的下標是數字,那么他會無視下標,直接生成一個新的數組,然后下標從0開始重新排序 
php,函數,數組,字符串,棧,隊列,排序 
如果合并數組的下標是字符串,那么他會保留原來的下標,合并后的數組,如果下標出現了沖突,那么后來的值會將原來的值替換。 
php,函數,數組,字符串,棧,隊列,排序

array_combine()

作用: 將兩個數組合并,第一個數組里元素的值被當成新數組元素的下標,第二個數組里元素的值被當成新數組元素的值。 
語法: array_combine($arr1,$arr2) 
php,函數,數組,字符串,棧,隊列,排序 
array_combine去合并兩個數組,兩個數組元素的數量必須是一樣的。

array_rand()

隨機取出一個數組的下標 
php,函數,數組,字符串,棧,隊列,排序 
array_rand存在第二個參數,默認情況下是1,代表獲取一個數組元素的下標,他的數據類型等同于下標的數據類型,但是如果一次性隨機獲取多個元素的下標,他返回的是一個數組。 
php,函數,數組,字符串,棧,隊列,排序 
雖然他是隨機獲取數組元素的下標,但是獲取后的結果一定是小的下標放在前面而大的下標放在后面。

shuffle()

作用: 打亂一個數組的排序。 
php,函數,數組,字符串,棧,隊列,排序 
使用shuffle打亂一個數組,不需要重新復制,它會自動將原來的數組的元素順序打亂。

is_array()

作用: 判斷一個變量是否是數組數據類型。 
語法: is_array(變量名),如果是數組,返回一個true,如果不是數組,返回一個false。

array_search()

作用: 根據一個數組元素的值,去尋找他相對于的下標 
語法: array_search(value,$arr[,boolean]) ,返回的是元素值對應的下標 
php,函數,數組,字符串,棧,隊列,排序 
array_search去遍歷數組查找下標,是從左往右進行尋找,當找到第一個符合要求的元素時,直接返回下標,函數結束。 
php,函數,數組,字符串,棧,隊列,排序 
array_search去遍歷數組,區(qū)分大小寫 
php,函數,數組,字符串,棧,隊列,排序 
array_search默認情況下,是不區(qū)分數據類型的,如果想讓其區(qū)分數據類型,將array_search的第三個參數修改為true即可。 
php,函數,數組,字符串,棧,隊列,排序

數組元素

array_keys()

作用: 獲取數組中的所有下標,返回的結果還是一個數組 
語法: array_keys($arr) 
php,函數,數組,字符串,棧,隊列,排序

array_values()

作用: 獲取數組中的所有值,返回的結果還是一個數組 
語法: array_values($arr) 
php,函數,數組,字符串,棧,隊列,排序

in_array()

作用 : 查找某一個數組元素的值是否存在。 
語法 :in_array(value,$arr[,boolean])。返回的是一個布爾值,如果存在,返回的是一個true,如果不存在,返回的結果是false。 
php,函數,數組,字符串,棧,隊列,排序 
默認情況下不區(qū)分數據類型,如果想區(qū)分,將第三個參數修改為true即可。 
php,函數,數組,字符串,棧,隊列,排序 
in_array區(qū)分大小寫 
php,函數,數組,字符串,棧,隊列,排序

array_key_exists()

作用: 查找數組元素中是否存在某個下標 
語法: array_key_exists($key,$arr) 
php,函數,數組,字符串,棧,隊列,排序 
區(qū)分大小寫 
php,函數,數組,字符串,棧,隊列,排序 
array_key_exists只有兩個參數,他不區(qū)分數據類型 
php,函數,數組,字符串,棧,隊列,排序

isset()

判斷一個變量是否被定義。 
php,函數,數組,字符串,棧,隊列,排序 
思考: isset()和array_key_exists()判斷數組元素有什么區(qū)別? 
答案: 如果一個數組元素的值為null的時候,isset()判斷的結果是false而array_key_exists()判斷的結果是true。 
php,函數,數組,字符串,棧,隊列,排序

implode()

作用 : 將一個數組拼接成一個字符串。 
語法 : implode(string,$arr) 
php,函數,數組,字符串,棧,隊列,排序 
如果省略了拼接符,那么,他默認按照空字符串進行拼接 
php,函數,數組,字符串,棧,隊列,排序

explode()

作用: 將一個字符串拆分成一個數組。 
語法: explode(string,$str[,num]) 
php,函數,數組,字符串,棧,隊列,排序 
explode如果有第三個參數,則代表將字符串拆分成幾份,最后一份包含字符傳后面的所有部分。 
php,函數,數組,字符串,棧,隊列,排序 
explode第三個參數如果是一個負數,那么則代表將最后的幾項丟棄 
php,函數,數組,字符串,棧,隊列,排序

數組交并差

array_merge()

參見上面代碼。就是將幾個數組合并成一個新數組

array_diff()

代碼的差級,計算某個數組中其他數組沒有的元素。 
語法:array_diff($arr1,$arr2[,$arr3..$arrn]) 
計算的是第一個參數數組中其他數組沒有的部分 
php,函數,數組,字符串,棧,隊列,排序 
獲得元素中的下標是第一個參數數組元素的下標

array_intersect()

計算數組的交集 
語法 :array_intersect($arr1,$arr2[,$arr3..$arrn]); 
計算的是所有數組中共同擁有的部分,下標仍然是以第一個參數數組的下標為準。 
php,函數,數組,字符串,棧,隊列,排序

遍歷數組函數

array_map()

語法: array_map(函數名,$arr) 
作用: 分別去取出數組里面的每一個元素的值,然后去執(zhí)行函數。 
php,函數,數組,字符串,棧,隊列,排序 
除了調用php內置的函數以外,我們也可以去手寫函數,然后通過我們自定義函數的函數名,也可以實現一個調用函數的功能 
php,函數,數組,字符串,棧,隊列,排序 
除了書寫函數名的模式以外,我們也可以自己去書寫一個匿名函數,效果是一樣的。 
php,函數,數組,字符串,棧,隊列,排序 
我們也可以一次性去傳遞多個數組,那么第一次會將每個數組第一個元素的值取出,第二次會將每個數組第二個元素的值取出,以此類推 
php,函數,數組,字符串,棧,隊列,排序 
如果array_map中調用的函數為空,那么他將依次取出數組中的元素,然后將其合并成一個新的數組,最終的結果是一個二維數組。 
php,函數,數組,字符串,棧,隊列,排序

array_walk()

作用 : 依次取出數組元素的下標和值。 
語法 :array_walk($arr,'函數名') 
php,函數,數組,字符串,棧,隊列,排序 
array_map可以一次性傳遞多個數組,但是array_walk只能傳遞一個數組。

array_map在工作中比較常見,array_walk出現的可能比較小,因為array_walk的功能完全可以被foreach所取代。

棧和隊列

棧:先進后出,后進先出 
隊列:先進先出,后進后出

array_push()

作用:往數組的最后插入元素 
語法:array_push($arr,$value[,$value2..$valuen]) 
php,函數,數組,字符串,棧,隊列,排序 
array_push也可以一次性添加多個元素 
php,函數,數組,字符串,棧,隊列,排序

array_pop()

作用:刪除數組里最后一個元素 
語法:array_pop($arr) 
php,函數,數組,字符串,棧,隊列,排序 
array_pop移除元素以后,返回的結果就是移除元素的值 
php,函數,數組,字符串,棧,隊列,排序

array_shift()

作用 : 刪除數組里面第一個元素 
語法 : array_shift($arr) 
php,函數,數組,字符串,棧,隊列,排序 
移出完第一個元素,后面的元素也會順勢往前位移一位,返回的結果也是移除元素的值。 
php,函數,數組,字符串,棧,隊列,排序 
思考 : array_shift()和直接使用unset()去刪除數組里第一個元素,有什么區(qū)別? 
答案 : unset()刪除的是數組元素的值,但是保留下標,但是array_shift()是將元素的下標和值統(tǒng)一移出。

array_unshift()

作用:往數組的最前面插入元素 
語法:array_unshift($arr,$value[,$value2..$value3]) 
php,函數,數組,字符串,棧,隊列,排序

數組排序

sort()

作用 : 將數組元素的值按照從小到大的順序排序。 
語法 :sort($arr) 
php,函數,數組,字符串,棧,隊列,排序 
使用sort去排序數組,數組的下標全部舍去,新生成的數組下標按照從0開始,依次遞增

rsort()

作用 : 將一個數組從大到小進行排序。 
語法 :rsort($arr) 
php,函數,數組,字符串,棧,隊列,排序

asort()

作用 : 將一個數組從小到大進行排序,但是會保留原來的下標。 
語法 : asort($arr) 
php,函數,數組,字符串,棧,隊列,排序

arsort()

作用 : 將一個數組從大到小進行排序,但是也會保留下標。 
語法 : arsort($arr) 
php,函數,數組,字符串,棧,隊列,排序

ksort()

作用 : 將一個數組的下標,從小到大進行排序 
語法 : ksort($arr) 
php,函數,數組,字符串,棧,隊列,排序

krsort() 
作用 : 將一個數組的下標,從大到小進行排序 
語法 :krsort($arr) 
php,函數,數組,字符串,棧,隊列,排序

natsort()

:自然排序會將字符串當成是一個整體,然后進行從小到大的排序。 
語法 : natsort() 
php,函數,數組,字符串,棧,隊列,排序

usort()

作用 : 自定義一個排序。 
語法 : usort($arr,fn($num1,$num2){}) 
如果return的是一個大于0的整數,那么,他將往后排序 
如果return 的是一個小于0的整數,那么,他將往前排序 
如果return的是一個等于0的整數,那么,他保持不變 
php,函數,數組,字符串,棧,隊列,排序 
有些時候,對于一些二維數組,我們用普通排序的方式難以實現,這個時候,我們可以去使用自定義排序。 
php,函數,數組,字符串,棧,隊列,排序

字符串

strpos()

作用 : 尋找某個字符首次出現的位置。 
語法 :strpos($str,char[,num]) 
php,函數,數組,字符串,棧,隊列,排序 
如果出現多個符合要求的字符,他只招第一個符合要求字符的位置。 
php,函數,數組,字符串,棧,隊列,排序 
strpos查找字符串是從左往右的順序進行尋找,第三個參數代表從哪一個位置開始去尋找,區(qū)分大小寫。 
php,函數,數組,字符串,棧,隊列,排序

strrpos()

作用 : 從右往左進行尋找,找到第一個符合要求的字符結束 
語法 :strrpos($str,char[,num]) 
php,函數,數組,字符串,棧,隊列,排序 
第三個參數代表搜索結束的位置,如果找不到,返回一個false 
php,函數,數組,字符串,棧,隊列,排序

strlen()

作用 : 獲取字符串占用多少字節(jié) 
語法 : strlen($str) 
php,函數,數組,字符串,棧,隊列,排序 
中文下的符號也是占三個字節(jié)

trim()

作用 : 去除字符串左右兩邊的空格,第二個參數可選希望過濾的字符 
語法 :trim($str),返回的結果就是去除空格的字符串。 
php,函數,數組,字符串,棧,隊列,排序

$a='hello world';$b='hld';$rel=trim($a,$b);echo $rel;//ello wor

ltrim()

作用 : 去除字符串左邊的空格,第二個參數去除左邊的字符 
語法 : ltrim($str) 
php,函數,數組,字符串,棧,隊列,排序

$a="hello world";$b="hed";$rel=ltrim($a,$b);echo $rel;//llo world

rtrim()

作用 : 去除字符串右邊的空格,第二個參數去除右邊的字符 
語法 : rtrim($str) 
php,函數,數組,字符串,棧,隊列,排序

$a="hello world";$b="hed";$rel=rtrim($a,$b);echo $rel;//hello worl

str_pad()

作用 : 給一個字符串填充一個具體的內容。 
語法 : str_pad($str,length,char) 
php,函數,數組,字符串,棧,隊列,排序 
str_pad存在第四個參數,他的值是一個常量。 
STR_PAD_LEFT : 向左添加填充物 
STR_PAD_RIGHT : 向右添加填充物(默認項) 
STR_PAD_BOTH : 向兩邊添加填充物 
php,函數,數組,字符串,棧,隊列,排序

str_repeat()

作用 : 將一個字符串重復多少次 
語法 :str_repeat($str,num) 
php,函數,數組,字符串,棧,隊列,排序

chr()

作用 :將一個十進制數字轉換為對應的ASCII編碼

ord()

作用 : 將一個ascii編碼轉換為對應的數字 
php,函數,數組,字符串,棧,隊列,排序

substr()

作用 : 截取字符串 
語法 : substr($str,startNum[,截取的長度]) 
如果省略第三個參數,則直接截取到最后一位 
php,函數,數組,字符串,棧,隊列,排序 
參數的作用 
php,函數,數組,字符串,棧,隊列,排序

strchr()

作用 : 從某個字符開始截取 
語法 : strchr($str,char[,boolean]) 
第三個參數代表strchr截取字符是字符串右邊部分還是左邊部分,默認是false,代表右邊部分,并且保留截取的字符,如果修改為true,則代表截取左邊部分,不保留截取的字符。strstr就是strchr的另一個稱呼。區(qū)分大小寫。 
php,函數,數組,字符串,棧,隊列,排序

str_replace()

作用 : 替換字符串中的字節(jié) 
語法 :str_replace(替換前字符,替換后的字符,$str) 
php,函數,數組,字符串,棧,隊列,排序 
如果想一次性替換多個字節(jié),將需要替換的字節(jié)放在一個數組中 
php,函數,數組,字符串,棧,隊列,排序 
如果想將多個字符全部替換成一個字符,前面用數組,后面不需要使用數組。 
php,函數,數組,字符串,棧,隊列,排序 
替換的順序是先替換第一個,第一個替換完畢以后,才會去繼續(xù)替換第二個元素 
php,函數,數組,字符串,棧,隊列,排序

str_split()

作用 : 將一個字符串拆分成數組。 
語法 : str_split($arr,num) 
php,函數,數組,字符串,棧,隊列,排序 
str_split()拆分字符串,是以限制字符長度去拆分字符串

explode()

作用: 將一個字符串拆分成一個數組。 
語法: explode(string,$str[,num]) 
php,函數,數組,字符串,棧,隊列,排序 
explode如果有第三個參數,則代表將字符串拆分成幾份,最后一份包含字符傳后面的所有部分。 
php,函數,數組,字符串,棧,隊列,排序 
explode第三個參數如果是一個負數,那么則代表將最后的幾項丟棄 
php,函數,數組,字符串,棧,隊列,排序

strtolower()

作用 : 將字符串轉換為全小寫

strtoupper()

作用 : 將字符串轉換為全大寫 
php,函數,數組,字符串,棧,隊列,排序

nl2br()

作用 : 將/n轉換為<br> 
php,函數,數組,字符串,棧,隊列,排序

htmlspecialchars()

作用 : 將特殊字符解析成普通字符 
php,函數,數組,字符串,棧,隊列,排序

urlencode()

給編碼加密

urldecode()

給編碼解密

多字節(jié)字符串處理

在使用多字符處理函數之前,必須要先打開相應的配置,首先打開php.ini,然后搜索php_mbstring,將注釋去除,重啟apache即可

mb_strlen()

返回字符串一共擁有的字符數。 
語法 : mb_strlen($str,編碼格式) 
php,函數,數組,字符串,棧,隊列,排序

mb_internal_encoding()

如果不加任何參數,直接輸出,代表當前的編碼格式。 
如果加上參數,代表修改其字符集編碼。 
php,函數,數組,字符串,棧,隊列,排序

mb_strpos()

獲取某個字符出現的位置 
php,函數,數組,字符串,棧,隊列,排序

mb_substr()

截取字符串 
php,函數,數組,字符串,棧,隊列,排序

iconv()

作用 : 設置一個字符串的字符集編碼 
語法 : iconv(設置前的字符集編碼,設置后的字符集編碼,需要修改的字符串) 修改完的結果會生成一個新的字符串。 
php,函數,數組,字符串,棧,隊列,排序

時間函數

gmstrftime()

返回:根據區(qū)域設置格式化 GMT/UTC 時間/日期 
語法: string gmstrftime ( string $format [, int $timestamp ] )和 strftime() 的行為相同,參見strftime() 
php,函數,數組,字符串,棧,隊列,排序 
參數$format請參考手冊,查strftime()函數下面有介紹很長

strftime()

返回: 根據指定的 timestamp 或未給出 timestamp 是使用當前本地時間, 返回 format 格式化的字符。 月份、星期名和其他與語言相關的字符串遵守 setlocale() 設置的當前區(qū)域設置。 
語法: string strftime ( string $format [, int $timestamp = time() ] ) 
參數$format請參考手冊,查strftime()函數下面有介紹很長 
timestamp:可選的 timestamp 參數是一個 integer 的 Unix 時間戳,如未指定,參數值默認為當前本地時間。也就是說,其值默認為 time() 的返回值。

strtotime()

將處理過的時間轉為時間戳 
例:輸出昨天時間

echo "昨天:",date("Y-m-d",strtotime("-1 day")), "<br>";  

其他應用:

echo strtotime('2012-12-7'); //結果:1354838400

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 中文字幕在线观看www | 国产一区二区精品91 | 一级α片免费看刺激高潮视频 | 久久九九热re6这里有精品 | 精品亚洲成a人在线观看 | 午夜激情视频网站 | 久久久久久久亚洲精品 | 日本欧美中文字幕 | 国产 日韩 一区 | 色玖玖综合 | 精品久久久久久久久久久久 | 美女在线观看视频一区二区 | 国产69精品久久久久99尤 | 欧美一级黄色录相 | 日韩欧美中文字幕视频 | 日韩中文字幕一区二区三区 | 免费在线观看成人网 | 久久久久久久一区二区 | 久久艹综合 | 国产亚洲精品影达达兔 | 中文字幕在线视频日本 | 黄网站免费在线看 | 天天色狠狠干 | 深夜毛片免费看 | 亚洲精品在线观看免费 | 激情黄页 | 中国老女人一级毛片视频 | 久久久电影电视剧免费看 | 亚洲第一成网站 | 九色p| 中文在线观看视频 | av在线不卡免费 | 最新中文字幕在线 | 久久精品观看 | 日本不卡一二三区 | 久久国产精品二国产精品 | 久久伊人国产精品 | 中日韩免费视频 | 久久免费视频8 | 日本网站在线播放 | 久久久久久免费 |