PHP最全筆記(三)(值得收藏,不時翻看一下)

/* 【數(shù)組函數(shù)】 */

//統(tǒng)計計算

count????????計算數(shù)組中的單元數(shù)目或?qū)ο笾械膶傩詡€數(shù)

array_count_values??統(tǒng)計數(shù)組中所有的值出現(xiàn)的次數(shù)

array_product???????計算數(shù)組中所有值的乘積

array_sum???????????計算數(shù)組中所有值的和

range????????建立一個包含指定范圍單元的數(shù)組

array_chunk????????將一個數(shù)組分割成多個

array?array_chunk(array?$input,?int?$size[,?bool?$preserve_keys])?array_filter????用回調(diào)函數(shù)過濾數(shù)組中的單元array_slice?????從數(shù)組中取出一段

array?array_slice($arr,?$offset?[,$len?[,$preserve_keys]])array_keys????????返回數(shù)組中所有的鍵名

array?array_keys(array?$input[,?mixed?$search_value[,?bool?$strict]]?)

如果指定了可選參數(shù)?search_value,則只返回該值的鍵名。否則input數(shù)組中的所有鍵名都會被返回。array_values????返回數(shù)組中所有的值,并建立數(shù)字索引

array_merge合并一個或多個數(shù)組

一個數(shù)組中的值附加在前一個數(shù)組的后面。

如果輸入的數(shù)組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個值。

如果數(shù)組包含數(shù)字鍵名,后面的值將不會覆蓋原來的值,而是附加到后面。

如果只給了一個數(shù)組并且該數(shù)組是數(shù)字索引的,則鍵名會以連續(xù)方式重新索引。array_merge_recursive遞歸地合并一個或多個數(shù)組

//搜索

in_array檢查數(shù)組中是否存在某個值

boolin_array(mixed$needle,array$haystack[, bool$strict])array_key_exists檢查給定的鍵名或索引是否存在于數(shù)組中

isset()對于數(shù)組中為NULL的值不會返回TRUE,而array_key_exists()會array_search在數(shù)組中搜索給定的值,如果成功則返回相應(yīng)的鍵名

array_combine創(chuàng)建一個數(shù)組,用一個數(shù)組的值作為其鍵名,另一個數(shù)組的值作為其值

如果兩個數(shù)組的單元數(shù)不同或者數(shù)組為空時返回FALSE。array_rand從數(shù)組中隨機取出一個或多個單元,返回鍵名或鍵名組成的數(shù)組,下標(biāo)是自然排序的

array_fill用給定的值填充數(shù)組

array_fill($start,$num,$value)array_flip交換數(shù)組中的鍵和值array_pad用值將數(shù)組填補到指定長度array_reverse返回一個單元順序相反的數(shù)組array_unique移除數(shù)組中重復(fù)的值array_splice把數(shù)組中的一部分去掉并用其它值取代

implode將數(shù)組元素值用某個字符串連接成字符串explode($delimiter,$str[,$limit])//使用一個字符串分割另一個字符串

$delimiter不能為空字符串""

array_map將回調(diào)函數(shù)作用到給定數(shù)組的單元上,只能處理元素值,可以處理多個數(shù)組

如果callback參數(shù)設(shè)為null,則合并多個數(shù)組為一個多維數(shù)組

array_walk對數(shù)組中的每個成員應(yīng)用用戶函數(shù),只能處理一個數(shù)組,鍵和值均可處理,與foreach功能相同

boolarray_walk(array&$array,callback$funcname[,mixed$userdata] )

//棧:

后進先出入棧和出棧會重新分配索引下標(biāo)array_push將一個或多個單元壓入數(shù)組的末尾(入棧)array_pop將數(shù)組最后一個單元彈出(出棧)使用此函數(shù)后會重置(reset())array指針。

//隊列:

先進先出隊列函數(shù)會重新分配索引下標(biāo)array_unshift在數(shù)組開頭插入一個或多個單元array_shift將數(shù)組開頭的單元移出數(shù)組使用此函數(shù)后會重置(reset())array指針。

//排序函數(shù)

sort對數(shù)組排序rsort對數(shù)組逆向排序asort對數(shù)組進行排序并保持索引關(guān)系arsort對數(shù)組進行逆向排序并保持索引關(guān)系ksort對數(shù)組按照鍵名排序krsort對數(shù)組按照鍵名逆向排序usort使用用戶自定義的比較函數(shù)對數(shù)組中的值進行排序uksort使用用戶自定義的比較函數(shù)對數(shù)組中的鍵名進行排序uasort使用用戶自定義的比較函數(shù)對數(shù)組中的值進行排序并保持索引關(guān)聯(lián)natsort用用“自然排序”算法對數(shù)組排序natcasesort用“自然排序”算法對數(shù)組進行不區(qū)分大小寫字母的排序array_multisort對多個數(shù)組或多維數(shù)組進行排序shuffle將數(shù)組打亂

引用傳遞參數(shù),返回bool值。

重新賦予索引鍵名,刪除原有鍵名

//差集

array_udiff_assoc帶索引檢查計算數(shù)組的差集,用回調(diào)函數(shù)比較數(shù)據(jù)array_udiff_uassoc帶索引檢查計算數(shù)組的差集,用回調(diào)函數(shù)比較數(shù)據(jù)和索引array_udiff用回調(diào)函數(shù)比較數(shù)據(jù)來計算數(shù)組的差集array_diff_assoc帶索引檢查計算數(shù)組的差集

array_diff_key使用鍵名比較計算數(shù)組的差集array_diff_uassoc用用戶提供的回調(diào)函數(shù)做索引檢查來計算數(shù)組的差集

array_diff_ukey用回調(diào)函數(shù)對鍵名比較計算數(shù)組的差集array_diff計算數(shù)組的差集//交集array_intersect_assoc帶索引檢查計算數(shù)組的交集

array_intersect_key使用鍵名比較計算數(shù)組的交集array_intersect_uassoc帶索引檢查計算數(shù)組的交集,用回調(diào)函數(shù)比較索引

array_intersect_ukey用回調(diào)函數(shù)比較鍵名來計算數(shù)組的交集array_intersect計算數(shù)組的交集array_key_exists用回調(diào)函數(shù)比較鍵名來計算數(shù)組的交集array_uintersect_assoc帶索引檢查計算數(shù)組的交集,用回調(diào)函數(shù)比較數(shù)據(jù)array_uintersect計算數(shù)組的交集,用回調(diào)函數(shù)比較數(shù)據(jù)

extract($arr[,$type[,$prefix]])從數(shù)組中將變量導(dǎo)入到當(dāng)前的符號表(接受結(jié)合數(shù)組$arr作為參數(shù)并將鍵名當(dāng)作變量名,值作為變量的值)compact($var[,...])建立一個數(shù)組,包括變量名和它們的值(變量名成為鍵名而變量的內(nèi)容成為該鍵的值)

/*【偽類型】*/

mixed說明一個參數(shù)可以接受多種不同的(但并不必須是所有的)類型。number說明一個參數(shù)可以是integer或者float。callback回調(diào)函數(shù)

void ???????void作為返回類型意味著函數(shù)的返回值是無用的。

void作為參數(shù)列表意味著函數(shù)不接受任何參數(shù)。

/*【數(shù)據(jù)庫操作】*/

#連接認(rèn)證mysql_connect連接并認(rèn)證數(shù)據(jù)庫#發(fā)送SQL語句,接收執(zhí)行結(jié)果mysql_query發(fā)送SQL語句

僅對select, show, explain, describe語句執(zhí)行成功返回一個資源標(biāo)識符,其他語句成功返回true。執(zhí)行失敗均返回false。#處理結(jié)果mysql_fetch_assoc從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組

每次只取回一條,類似each

結(jié)果集中記錄指針mysql_fetch_row從結(jié)果集中取得一行作為枚舉數(shù)組mysql_fetch_array從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組,或數(shù)字?jǐn)?shù)組,或二者兼有

arraymysql_fetch_array(resource$result[, int $ result_type ?] )

可選參數(shù)result_type可選值為:MYSQL_ASSOC,MYSQL_NUM和MYSQL_BOTH(默認(rèn))mysql_free_result釋放結(jié)果內(nèi)存#關(guān)閉鏈接mysql_close關(guān)閉連接

/*【類和對象】*/

#成員:類成員:類常量、靜態(tài)屬性、靜態(tài)方法

對象成員:非靜態(tài)屬性、非靜態(tài)方法

#除此外,類不能包含任何其他東西!!!

#類名、方法名、屬性名均不區(qū)分大小寫

# $this代表本對象,self代表本類,parent代表父類

#類和函數(shù)均可被事先編譯(僅作為最外層時)

#類的定義必須在單一的PHP區(qū)塊內(nèi),不能被多個PHP標(biāo)簽分割

//構(gòu)造方法

-具有構(gòu)造函數(shù)的類會在每次創(chuàng)建新對象時先調(diào)用此方法

void __construct([mixed$args[, $... ]] )-構(gòu)造方法所需參數(shù)由new實例化對象時,給類增加參數(shù)值。-構(gòu)造方法也可以被手動調(diào)用。- 5.3.3版本以前,支持于類名同名的方法作為構(gòu)造方法。-兩種沖突時,__construct優(yōu)先

//析構(gòu)方法

-析構(gòu)函數(shù)會在到某個對象的所有引用都被刪除或者當(dāng)對象被顯式銷毀時執(zhí)行。

void __destruct( void )#作用:釋放對象所占用的資源

#調(diào)用的時機

-腳本結(jié)束時所有資源均被釋放,包括對象

-手動刪除對象時

-保存對象的變量被賦予新值時(任何值,包括null)

-在使用exit()終止腳本運行時也會被調(diào)用

//靜態(tài)成員(static關(guān)鍵字)

-聲明類成員或方法為static,就可以不實例化類而直接訪問。

-靜態(tài)成員(屬性或方法)均屬于類,故不能通過$this或->訪問。

-靜態(tài)成員是所有對象共享,屬于類。

-靜態(tài)成員用類調(diào)用,非靜態(tài)成員用對象調(diào)用。#靜態(tài)屬性

-靜態(tài)屬性不可以由對象通過->操作符來訪問。

-靜態(tài)屬性只能被初始化為一個字符值或一個常量,不能使用表達式。 所以你可以把靜態(tài)屬性初始化為整型或數(shù)組,但不能指向另一個變量或函數(shù)返回值,也不能指向一個對象。#靜態(tài)方法

-由于靜態(tài)方法不需要通過對象即可調(diào)用,所以偽變量$this在靜態(tài)方法中不可用。

-用::方式調(diào)用一個非靜態(tài)方法會導(dǎo)致一個E_STRICT級別的錯誤。

//訪問解析操作符(::)

-可以用于訪問靜態(tài)成員、方法和常量,還可以用于覆蓋類中的成員和方法。

-當(dāng)在類的外部訪問這些靜態(tài)成員、方法和常量時,必須使用類的名字。

- self和parent這兩個特殊的關(guān)鍵字是用于在類的內(nèi)部對成員或方法進行訪問的。

//訪問辨析

-對象成員,內(nèi)部通過$this指定,外部通過對象名指定,均用->訪問,訪問屬性時不需加$。

對象名->屬性名 ???對象名->方法名()$this->屬性名$this->方法名()-類成員,內(nèi)部通過self或parent指定,外部通過類名指定,均用::訪問,訪問屬性時需加$。

類名::$屬性名類名::方法名() ???????self::$屬性名self::方法名()-特殊:也可以通過對象訪問類成員。(不建議)

對象名::$類屬性名$this::$類屬性名對象名::$類方法名()$this::類方法名()#對象成員訪問用->,類成員訪問用::

-無論是靜態(tài)方法還是非靜態(tài)方法,均可通過類或?qū)ο筮M行訪問。-靜態(tài)屬性通過類訪問,靜態(tài)方法通過對象訪問。-只有使用對象調(diào)用非靜態(tài)方法時,$this才可以使用!-靜態(tài)方法不可使用$this。-類可以調(diào)用對象方法,但注意方法內(nèi)不能有$this。-非靜態(tài)方法可以調(diào)用靜態(tài)屬性或靜態(tài)方法,反之不可以。

//類常量

-常量的值將始終保持不變。-在定義和使用常量的時候不需要使用$符號。-常量的值必須是一個定值,不能是變量,類屬性或其它操作(如函數(shù)調(diào)用)的結(jié)果。#定義:const常量名=常量值;

-不需要加public等訪問修飾限定符-類常量屬于類,使用類訪問,類名::類常量 或self::類常量

//自動加載對象

-在試圖使用尚未被定義的類時自動調(diào)用__autoload函數(shù)-自動加載使用到的類名文件(根據(jù)類名找相應(yīng)名稱的文件,故需類名與類文件名一致)-每個需要加載類的文件都需要存在__autoload函數(shù)-將__autoload函數(shù)寫入單獨的文件,每個需要用到類的文件再require該函數(shù)文件- __autoload參數(shù)是類名function__autoload($class_name) {

require_once$_SERVER["DOCUMENT_ROOT"] . "/class/$class_name.php";

}

// $_SERVER["DOCUMENT_ROOT"]當(dāng)前運行腳本所在的文檔根目錄

-可以通過類名,來推導(dǎo)出類所在的文件名!-如果一個項目存在多個自動加載函數(shù)時,定義一個可以完成加載的普通函數(shù),并在函數(shù)之前使用spl_autoload_register注冊該函數(shù)。# spl_autoload_register

-注冊__autoload()函數(shù)

bool spl_autoload_register ([callback$autoload_function] )-可以注冊多個自動加載函數(shù),先注冊的先執(zhí)行-一旦注冊自動加載函數(shù),__autoload就失效。-注冊函數(shù)時,參數(shù)為函數(shù)名(注意加引號);注冊方法時,參數(shù)為數(shù)組#注冊類或?qū)ο蟮姆椒樽詣蛹虞d方法時,參數(shù)需為數(shù)組:

spl_autoload_register(array(__CLASS__, '__autoload'));

__CLASS__表示當(dāng)前類名,若是對象可用$this,詳細(xì)見手冊

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,936評論 6 535
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,744評論 3 421
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,879評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,181評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,935評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,325評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,384評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,534評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,084評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,892評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,623評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,322評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,735評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,990評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,800評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,084評論 2 375

推薦閱讀更多精彩內(nèi)容

  • * 【goto】5.3+ 版本 */ 用來跳轉(zhuǎn)到程序中的某一指定位置 該目標(biāo)位置可以用目標(biāo)名稱加上冒號來標(biāo)記。 P...
    Omit03閱讀 548評論 0 0
  • PHP常用函數(shù)大全 usleep() 函數(shù)延遲代碼執(zhí)行若干微秒。 unpack() 函數(shù)從二進制字符串對數(shù)據(jù)進行解...
    上街買菜丶迷倒老太閱讀 1,380評論 0 20
  • php usleep() 函數(shù)延遲代碼執(zhí)行若干微秒。 unpack() 函數(shù)從二進制字符串對數(shù)據(jù)進行解包。 uni...
    思夢PHP閱讀 1,997評論 1 24
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,262評論 0 4
  • 真的不知道個該說什么,總覺得自己要說的話很多。可是明明想記錄下來卻不知如何動筆。雖然已經(jīng)過了愛做夢的年紀(jì),可是我不...
    Koreyoshi陌閱讀 283評論 0 0