1. 程式人生 > >PHP常用函式

PHP常用函式

/************************************************************************             PHP魔術方法 *************************************************************************/

1、__construct()  建構函式:例項化物件時被呼叫,當__construct和以類名為函式名的建構函式同時存在時,__construct將被呼叫,另一個不被呼叫。 2、__destruct()   解構函式:當刪除一個物件或物件操作終止時被呼叫(程式結束後物件就摧毀)。 永遠都是最後執行的。 3、__call()        物件呼叫某個方法,若方法存在,則直接呼叫; 若不存在,則會去呼叫__call函式。 4、__get()        讀取一個物件的屬性時,若屬性存在,則直接返回屬性值;若不存在,則會呼叫__get函式。 5、__set()        設定一個物件的屬性時,若屬性存在,則直接賦值;   若不存在,則會呼叫__set函式。 6、__toString()  列印一個物件的時被呼叫。如echo $obj;或print $obj; 7、__clone()    克隆物件時被呼叫。如:$t=new Test();$t1=clone $t; 8、__sleep()    serialize之前被呼叫。若物件比較大,想刪減一點東東再序列化,可考慮一下此函式。 9、__wakeup()   unserialize時被呼叫,做些物件的初始化工作。 10、__isset()   檢測一個物件的屬性是否存在時被呼叫。如:isset($c->name)。 11、__unset()   unset一個物件的屬性時被呼叫。如:unset($c->name)。 12、__set_state()呼叫var_export時,被呼叫。用__set_state的返回值做為var_export的返回值。 13、__autoload()  例項化一個物件時,如果對應的類不存在,則該方法被呼叫。

/************************************************************************             字串函式 *************************************************************************/

1.strlen:        獲取字串長度,位元組長度

2.substr_count:某字串出現的次數

3.substr:        字串擷取,獲取字串(按照位元組進行擷取) 4.mb_strlenmb_substr strchr:與substr相似,從指定位置擷取一直到最後

5.strrchr      (獲取檔案字尾名):與strchr一樣,只是從右邊開始查詢字元 6.strtolower:    所有的字元都小寫(針對英文字母) 7.strtoupper:    所有的字元都大寫 8.strrev:    字串反轉(只能反轉英文:英文儲存只有一個位元組),按照位元組進行反轉

9.strpos:    從字串中找對應字元出現的位置(數字下標),從最左邊開始找 10.strrpos:    與strpos一樣,只是從字串的右邊開始找 11.trim:    去掉函式兩邊的字元,預設是空格

12.str_split:    函式把字串分割到陣列中。 13.chunk_split(): 函式把字串分割為一連串更小的部分 14.str_repeat("Shanghai",5):把字串 "Shanghai " 重複 5 次 

15.str_replace('\\', '/', dirname(__DIR__))):替換

16.ucfirst:    首字母大寫

/************************************************************************             時間函式 *************************************************************************/

1.time:得到當前時間的時間戳(整型:從格林威治時間1970年1月1日0時0分0秒開始)秒數

2.date:時間序列化函式,將指定的時間戳轉換成規定時間日期的顯示格式(隨意的字串:有專業的格式符規定),           如果沒有指定時間戳,系統預設使用當前時間的時間戳

3.strtotime:時間日期格式的字串轉換成對應的時間戳(只要是正確的英語時間表達方式,都可以進行轉換)

4.microtime:微秒時間戳,根據不同的要求返回不同的結果 混合  5.microtime (布林型別 ),可以返回一個浮點數的時間,也可以返回一個數組(時間戳和微秒數)

/************************************************************************             數值操作函式 *************************************************************************/

1.abs:       絕對值

2.floor:  向下取整 floor(3.2) 結果等於3

3.ceil:   向上取整 round:四捨五入

4.rand:   取得一個指定範圍內的隨機整數

5.mt_rand:取得一個指定範圍內的隨機整數(效率更高)

6.min:PHP:會將非數值的 string 當成 0,但如果這個正是最小的數值則仍然會返回一個字串。        如果多個引數都求值為 0 且是最小值,min() 會返回按字母表順序最小的字串,        如果其中沒有字串的話,則返回數值的 0; max:PHP 會將非數值的字串當成 0,但如果這個正是最大的數值則仍然會返回一個字串。如果多個引數都求值為 0 且是最大值,max() 會返回其中數值的 0,如果引數中沒有數值的 0,則返回按字母表順序最大的字串。對於多個數組,max從左到右比較;如果同時出現數組和非陣列引數總把陣列作為最大值返回;

/************************************************************************             陣列函式 *************************************************************************/

1.count() :非陣列返回1

2.key:     獲取當前陣列當前指標所指向的元素的下標

3.current: 獲取的當前指標指向元素的數值

4.next:    獲取下一個元素的值,並且將指標下移 5.prev:    獲取上一個元素的值,並且將指標上移 6.end :    將指標移到陣列的最後一個元素,並返回最終指標位置的值 7.reset:   將指標移到陣列的第一個元素,返回最終指標位置的值 8.array_keys:  獲取一個數組的所有鍵名,返回一個索引陣列

9.array_values:獲取一個數組的所有值,返回一個索引陣列

10.explode:爆炸,將一個字串按照某個指定的規則(通常是特殊字元),         將陣列分成多個段,每一段都當做一個數組的元素,返回一個索引陣列

11.split    類似 explode  explode('.', 'abc.txt')等於split('\.','abc.txt')

12.implode:粘合,將一個數組內部的所有元素按照某個指定的規則(特殊字元),將所有的元素拼接成一個字串

13.join(): 把陣列元素組合為一個字串

14.array_merge:合併,指的是將兩個陣列中的元素進行累計。如果後面的陣列與前面的陣列有下標(鍵名:關聯)相同的         那麼後面的元素的值會覆蓋前面的;如果是索引的相同下標,會自動的修改下標疊加到前面的數組裡。

15.array_reverse:返回反轉後的陣列

16.array_flip:交換陣列中的鍵和值