9條PHP編程小知識及易犯的小錯誤_第1頁
9條PHP編程小知識及易犯的小錯誤_第2頁
9條PHP編程小知識及易犯的小錯誤_第3頁
9條PHP編程小知識及易犯的小錯誤_第4頁
全文預覽已結束

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——9條PHP編程小知識及易犯的小錯誤在我們運用變量聲明、解析錯誤、常見的錯誤、MySQL錯誤、留神echo和print的識別、留神空字符串和NULL的識別、分清==(等于)和===(全等于)的識別等內容,下面是想為大家搜集整理出來的有關于9條PHP編程小學識及易犯的小錯誤,一起學習一下吧!

變量聲明

假設在一條語句中聲明一個變量,如下所示:$var=value;編譯器首先會求出語句右半片面的值,恰恰正是語句的這一片面往往會引發(fā)錯誤。假設使用的語法不正確,就會展現(xiàn)解析錯誤。

解析錯誤

例如,Parseerror:解析錯誤,unexpectedT_WHILEinc:programfilesapachegroupapachehtdocsscript.phponline19每次確定了前一錯誤時,解析錯誤一個接一個地不斷展現(xiàn),PHP在第一個解析錯誤之后就中斷執(zhí)行腳本。而且,解析錯誤具有很少的信息,幾乎不報告錯誤所在的行號。譬如表達式中使用了預定義的關鍵字,例如:while=10;while就是一個預定義的關鍵字,不能調配給它一個值。預定義關鍵字包括while、function等,我們不能使用這些預定義關鍵字來命名變量,否那么編譯器就會報錯。其中,T_IF代表if,T_WHILE代表while,T_FOR代表for等。

常見的錯誤

還有一些常見的錯誤,譬如語句沒有使用分號;終止,字符串中缺少引號等。另外就是,沒有使用大括號終止一個函數(shù)或者一個循環(huán),譬如:functionUselessFunctionfor$i0;$i10;$i++將產(chǎn)生以下錯誤:Parseerror:parseerror,unexpected$inc:programfilesapachegroupapachehtdocsereg2.phponline9由于函數(shù)UselessFunction沒有使用大括號來終止,PHP編譯器會不斷查找表示終止的大括號直至到達文件末尾為止。由于編譯器未找到一個匹配的大括號,就會報告文件末尾處有錯誤。假設正確地反映了代碼的層次布局,錯誤信息就會變得分外明顯。否那么,代碼調試起來就會分外的困難。所以,確定要標明代碼的層次布局,這對后續(xù)的開發(fā)人員來說,提升代碼也會更輕易一些。

MySQL錯誤

另一類的錯誤信息就是MySQL錯誤,這往往使PHP新手感到頗為頭疼,譬如:Warning:SuppliedargumentisnotavalidMySQLresultresourcein...上面所報告有錯的一行可能是:while$row=mysql_fetch_array$result參數(shù)$result并不是一個有效的資源,由于查詢失敗,將無法處理mysql_fetch_array。任一查詢的語法無效或者與數(shù)據(jù)庫的連接失敗,理應到MySQL操縱臺舉行測試。

留神echo和print的識別

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

留神空字符串和NULL的識別

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

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

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

分清include與require的識別

include與require的功能也根本一致,但在用法上也有一些不同,include是有條件包含函數(shù),而require那么是無條件包含函數(shù)。例如在下面代碼中,假設變量$a為真,那么將包含文件a.php:if$aincludea.php;而require那么和include不同,不管$a取何值,下面的代碼都會把文件a.php包含:if$arequirea.php;在錯誤處理方面,使用include語句,假設發(fā)生包含錯誤,程序將跳過include語句,雖然會顯示錯誤信息但是程序還是會持續(xù)執(zhí)行。但是,requre語句會提示一個致命錯誤。

留神isset和empty的識別

empty是判斷一個變量是否為“空”,而isset那么是判斷一個變量是否已經(jīng)被設置。

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

在訪問PHP類中的成員

溫馨提示

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

評論

0/150

提交評論