PHP中容易出錯的小細節_第1頁
PHP中容易出錯的小細節_第2頁
PHP中容易出錯的小細節_第3頁
PHP中容易出錯的小細節_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

本文格式為Word版,下載可任意編輯——PHP中容易出錯的小細節PHP中輕易出錯的小細節

細節抉擇成敗,那么在PHP中有哪些小細節是輕易出錯的呢?一起來看看吧!夢想對大家有所扶助,更多內容請關注應屆畢業生網!

留神echo和print的識別

PHP中echo和print都是輸出的作用,但是兩者之間還是有輕微的區別。echo輸出后沒有返回值,但print有返回值,當其執行失敗時返回flase。因此可以作為一個普遍函數來使用,例如執行$r=printHelloWorld;變量$r的值將為1。而且代碼中echo語句的運行效率要略快于print語句。

留神空字符串和NULL的識別

PHP中空字符串和NULL都是以值為0存儲的.,但是他們的類型并不一樣,前者是string,而后者是NULL,可見字符串、NULL值相等但類型不等。

分清==等于和===全等于的識別

兩者都屬于對比運算符,==等于只對比值是否相等,而===全等于那么不但對比值是否相等,還會對比類型是否相等,它更為嚴格。

分清include與require的識別

include與require的功能也根本一致,但在用法上也有一些不同,include是有條件包含函數,而require那么是無條件包含函數。例如在下面代碼中,假設變量$a為真,那么將包含文件a.php。而require那么和include不同,不管$a取何值,下面的代碼都會把文件a.php包含,譬如:

在錯誤處理方面,使用include語句,假設發生包含錯誤,程序將跳過include語句,雖然會顯示錯誤信息但是程序還是會持續執行。但是,require語句會提示一個致命錯誤。

留神isset和empty的識別

empty是判斷一個變量是否為"空',而isset那么是判斷一個變量是否已經被設置。

分清self::和this--的識別

在訪問PHP類中的成員變量或方法時,假設被引用的變量或者方法被聲明成const常量或者static靜態屬性,那么就務必使用域操作符::,而假設被引用的變量或者方法沒有被聲明成const或者static,那么就使用指向操作符-。

foreach循環后留下懸掛指針

這里有個問題好多人會含混。循環終止后,$value并未銷毀,$value其實是數組中結果一個元素的引用,這樣在后續對$value的使用中,假設不知道這一點,會引發一些莫名奇異的錯誤:看看下面這段代碼:

上面代碼的運行結果如下:

1,2,3

1,2,3

1,2,2

你猜對了嗎?為什么是這個結果呢?

我們來分析下。第一個循環過后,$value是數組中結果一個元素的引用。其次個循環開頭:

第一步:復制$arr[0]到$value留神此時$value是$arr[2]的引用,這時數組變成[1,2,1]

其次步:復制$arr[1]到$value,這時數組變成[1,2,2]

第三步:復制$arr[2]到$value,這時數組變成[1,2,2]

綜上,最終結果就是1,2,2

制止這種錯誤最好的手段就是在循環后立刻用unset函數銷毀變量:

疏忽Unicode/UTF-8問題

php編程中,在處理非ascii字符時,會遇到一些問題,要很提防的去對待,要不然就會錯誤遍地。舉個簡樸的例子,strlen$name,假設$name包含非ascii字符,那結果就有些出乎意料。在此給出一些建議,盡量制止此類問題:

最好使用mb_*函數來處理字符串,制止使用老的字符串處理函數。這里要確保PHP的"multibyte'擴展已開啟。

數據庫和表最好使用uni

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論