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

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

//統(tǒng)計(jì)計(jì)算

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

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

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

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

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

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

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????????返回?cái)?shù)組中所有的鍵名

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

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

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

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

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

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

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

//搜索

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

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

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

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

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

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

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

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

$delimiter不能為空字符串""

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

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

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

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

//棧:

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

//隊(duì)列:

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

//排序函數(shù)

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

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

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

//差集

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

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

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

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

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

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

/*【偽類型】*/

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

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

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

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

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

僅對(duì)select, show, explain, describe語句執(zhí)行成功返回一個(gè)資源標(biāo)識(shí)符,其他語句成功返回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)閉連接

/*【類和對(duì)象】*/

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

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

#除此外廷区,類不能包含任何其他東西N椤!隙轻!

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

# $this代表本對(duì)象玖绿,self代表本類敛瓷,parent代表父類

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

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

//構(gòu)造方法

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

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

//析構(gòu)方法

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

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

#調(diào)用的時(shí)機(jī)

-腳本結(jié)束時(shí)所有資源均被釋放牢酵,包括對(duì)象

-手動(dòng)刪除對(duì)象時(shí)

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

-在使用exit()終止腳本運(yùn)行時(shí)也會(huì)被調(diào)用

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

-聲明類成員或方法為static衙猪,就可以不實(shí)例化類而直接訪問馍乙。

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

-靜態(tài)成員是所有對(duì)象共享丝格,屬于類撑瞧。

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

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

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

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

-用::方式調(diào)用一個(gè)非靜態(tài)方法會(huì)導(dǎo)致一個(gè)E_STRICT級(jí)別的錯(cuò)誤神郊。

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

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

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

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

//訪問辨析

-對(duì)象成員,內(nèi)部通過$this指定运授,外部通過對(duì)象名指定,均用->訪問乔煞,訪問屬性時(shí)不需加$吁朦。

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

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

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

-無論是靜態(tài)方法還是非靜態(tài)方法囤屹,均可通過類或?qū)ο筮M(jìn)行訪問熬甚。-靜態(tài)屬性通過類訪問,靜態(tài)方法通過對(duì)象訪問肋坚。-只有使用對(duì)象調(diào)用非靜態(tài)方法時(shí)乡括,$this才可以使用肃廓!-靜態(tài)方法不可使用$this。-類可以調(diào)用對(duì)象方法诲泌,但注意方法內(nèi)不能有$this盲赊。-非靜態(tài)方法可以調(diào)用靜態(tài)屬性或靜態(tài)方法,反之不可以敷扫。

//類常量

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

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

//自動(dòng)加載對(duì)象

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

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

}

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

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

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

bool spl_autoload_register ([callback$autoload_function] )-可以注冊(cè)多個(gè)自動(dòng)加載函數(shù)而芥,先注冊(cè)的先執(zhí)行-一旦注冊(cè)自動(dòng)加載函數(shù)律罢,__autoload就失效。-注冊(cè)函數(shù)時(shí)棍丐,參數(shù)為函數(shù)名(注意加引號(hào))误辑;注冊(cè)方法時(shí),參數(shù)為數(shù)組#注冊(cè)類或?qū)ο蟮姆椒樽詣?dòng)加載方法時(shí)歌逢,參數(shù)需為數(shù)組:

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末秘案,一起剝皮案震驚了整個(gè)濱河市砰苍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌阱高,老刑警劉巖赚导,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異赤惊,居然都是意外死亡吼旧,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門荐捻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來黍少,“玉大人寡夹,你說我怎么就攤上這事〕е茫” “怎么了菩掏?”我有些...
    開封第一講書人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)昵济。 經(jīng)常有香客問我智绸,道長(zhǎng),這世上最難降的妖魔是什么访忿? 我笑而不...
    開封第一講書人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任瞧栗,我火速辦了婚禮,結(jié)果婚禮上海铆,老公的妹妹穿的比我還像新娘迹恐。我一直安慰自己,他們只是感情好卧斟,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開白布殴边。 她就那樣靜靜地躺著,像睡著了一般珍语。 火紅的嫁衣襯著肌膚如雪锤岸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,682評(píng)論 1 312
  • 那天板乙,我揣著相機(jī)與錄音是偷,去河邊找鬼。 笑死募逞,一個(gè)胖子當(dāng)著我的面吹牛蛋铆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播放接,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼戒职,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了透乾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤磕秤,失蹤者是張志新(化名)和其女友劉穎乳乌,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體市咆,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡汉操,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蒙兰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片磷瘤。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡芒篷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出采缚,到底是詐尸還是另有隱情针炉,我是刑警寧澤,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布扳抽,位于F島的核電站篡帕,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏贸呢。R本人自食惡果不足惜镰烧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望楞陷。 院中可真熱鬧怔鳖,春花似錦、人聲如沸固蛾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽魏铅。三九已至昌犹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間览芳,已是汗流浹背斜姥。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留沧竟,地道東北人铸敏。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像悟泵,于是被迫代替她去往敵國(guó)和親杈笔。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

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

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