每天5分鐘,細讀PHP手冊-6

錯誤控制運算符

@:放在一個表達式之前,該表達式可能產生的任何錯誤信息都被忽略掉。
目前的"@“錯誤控制運算符前綴甚至使導致腳本終止的嚴重錯誤的錯誤報告也失效。這意味着如果在某個不存在或者敲錯了字母的函數調用前用了”@"來抑制錯誤信息,那腳本會沒有任何跡象顯示原因而死在那裏。

執行運算符

``:這是一個執行運算符,PHP 將嘗試將反引號中的內容作爲 shell 命令來執行,並將其輸出信息返回。與shell_exec()是相同的。

  • 反引號運算符在激活了安全模式或者關閉了 shell_exec() 時是無效的。
  • 與其它某些語言不同,反引號不能在雙引號字符串中使用。

邏輯運算符

php中的邏輯運算符有:and、or、xor、!、&&、||。

  • "與"和"或"有兩種不同形式運算符的原因是它們運算的優先級不同;

字符串運算符

  • .
  • .=
    就這兩個字符串運算符

數組運算符

  • ==
  • ===
  • !=
  • <>
  • !==

類型運算符

instanceof

  • instanceof 用於確定一個 PHP 變量是否屬於某一類 class 的實例;
  • instanceof 也可用來確定一個變量是不是繼承自某一父類的子類的實例;
  • 檢查一個對象是否不是某個類的實例,可以使用邏輯運算符 not;
  • instanceof也可用於確定一個變量是不是實現了某個接口的對象的實例;
  • 雖然 instanceof 通常直接與類名一起使用,但也可以使用對象或字符串變量,如果被檢測的變量不是對象,instanceof 並不發出任何錯誤信息而是返回 FALSE。不允許用來檢測常量;
  • 然而 instanceof 的使用還有一些陷阱必須瞭解。在 PHP 5.1.0 之前,如果要檢查的類名稱不存在,instanceof 會調用 __autoload()。另外,如果該類沒有被裝載則會產生一個致命錯誤。可以通過使用動態類引用或用一個包含類名的字符串變量來避開這種問題

流程控制

任何 PHP 腳本都是由一系列語句構成的。一條語句可以是一個賦值語句,一個函數調用,一個循環,一個條件語句或者甚至是一個什麼也不做的語句(空語句)。語句通常以分號結束。此外,還可以用花括號將一組語句封裝成一個語句組。語句組本身可以當作是一行語句。

替代語法

  • php提供了一些流程控制的替代語法,基本形式是把左花括號換成冒號,把右花括號換成endif、endwhile等;
  • 不支持在同一個控制塊中混合使用兩種語法;
  • 替代語法中的switch 和第一個 case 之間的任何輸出(含空格)將導致語法錯誤;

do-while

  • 和while的區別在於保證能執行一次。
  • 將代碼放在do-while(0)中,然後用break跳出循環,可以用來裝逼;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章