推薦:《PHP視頻教程》
闡述:使用PHP語言有一段時(shí)間了,今天看見某段代碼中的static 關(guān)鍵字。突然腦海中想到 static 和 沒有static 區(qū)別是什么呢?通過案例來講解,需求是我指定一個(gè)目錄。統(tǒng)計(jì)出這個(gè)目錄下“有多少個(gè)目錄數(shù)”和“有多少個(gè)文件”以及分別顯示有哪些“文件夾/ 文件”。
1, 這是要獲取的目錄結(jié)構(gòu),共計(jì)是(3個(gè)目錄):
2, 在此就直接貼代碼了,這是“沒寫static” 關(guān)鍵字運(yùn)行結(jié)果:
發(fā)現(xiàn)和“源目錄”數(shù)量和go函數(shù)獲取的不一致,測(cè)試結(jié)果:
3,加上“static” 關(guān)鍵字后,經(jīng)過確認(rèn)“文件和目錄”都均是正確:
總結(jié):有的人就好奇為啥加上static 關(guān)鍵字就正確了呢? 那是因?yàn)閟tatic 變量的生命周期超過了函數(shù)生命周期,最終變量還在內(nèi)存中。去掉后成局部變量函數(shù)執(zhí)行完即釋放,所以保存下來的變量是最后一次的執(zhí)行結(jié)果!