這裡記錄下最近PHP踩過的坑,很多都是文法性錯誤
(1)函數結尾忘記加;
例如匿名函數
寫了個匿名函數,正常情況應該輸出Tony 你好。但是這裡報錯,顯示
解析錯誤:文法錯誤,在第13行的C:\ PHPTutorial \ WWW \ index.php中出現意外的'$ show'(T_VARIABLE)
找了半天才測試出是函數沒有加;,而錯誤提示不能精準地定位到出錯行
【總結】①函數先寫好形勢,加上;②在報錯行附近找錯誤源
(2)函數忘記傳參
函數規定了參數後就必須傳參,除非參數設定了預設值
(3)送出form表單時,如果action為空,那麼就會送出到目前頁面
(4)①global後可以跟多個變量,例如global $a,$b,$c等等;②global隻能傳遞變量,不能将其變為全局變量
(5)超全局變量$GLOBALS()不僅可以把變量轉為全局變量,還可以進行修改
(6)JAVA,JS,PHP等代碼都是從上到下,逐行讀取的。PHP裡若沒有exit函數,則會讀取完畢
(7)遞歸函數:自己調用自己
(8) 參數的資料類型
例如,系統内置函數舉例copy()拷貝檔案,兩個參數必須為字元串
(9)echo、print、print_r差別
①echo 是語言結構,不是函數或者方法,使用的時候可以不加括号,多用于單行字元串的輸出。效率我記得是比print()高。
②print() 也是單行輸出,但他是函數,使用時要把字元串做為參數傳給print()函數。有些服務端程式用PHP來寫的,輸出會用到print();而不用echo ; 這個我不太清楚是什麼原因……
③print_r () 可以用來周遊并輸出數組的函數,我一般是在調試程式的過程中用來檢視數組内容的。也可以用來輸出單一的字元串。一般隻在調試程式過程中使用。程式寫好後,要把這東東去掉。
其他解釋:
echo和print都可以做輸出,不同的是,echo不是函數,沒有傳回值,而print是一個函數有傳回值,是以相對而言如果隻是輸出 echo 會更快,而print_r通常用于列印變量的相關資訊,通常在調試中使用。
print 是列印字元串
print_r 則是列印複合類型 如數組 對象
(10)修改php.int配置後無效?
所有配置修改,都需要重新開機Apache伺服器才會生效。
(11)PHP入口檔案index.php
(12)PHP除了通過php.int配置參數外,還可以通過ini_get()擷取,ini_set()設定參數。不過隻能作用在目前檔案下
(13)删除和更新MySQL資料時,需要在尾部添加where條件。否則會對整個表單産生影響。
(14)注意:删除重要資料前要備份
.