1. 程式人生 > 實用技巧 >10.20-PHP基礎和運算子

10.20-PHP基礎和運算子

PHP

PHP語法入門

PHP是編譯型語言

  • 編譯語言和解釋語言的區別在於是否儲存最終的可執行程式
    • 語法入門.png

PHP定界符

  • <?php?>
  • httpd.conf是apache的配置檔案
    是apache的配置檔案
  • php.ini是php的配置檔案

註釋

  • 單行註釋://或者#
  • 多行註釋:/* */

變數

變數的命名規則

  • 1.變數必須以 開 頭 , 開頭, 符不是變數的一部分,僅表示後面的識別符號是變數名。
  • 2.除了$以外,以字母、下劃線開頭,後面跟著數字、字母、下劃線
  • 3.變數名區分大小寫, a a 和 aa和 aaAa是兩個空間

可變變數

  • 變數名可以變,將變數名儲存在另外一個變數中
  • 舉例
    • 可變變數舉例.png

變數傳遞

  • 變數的傳遞有值傳遞和地址傳遞(引用傳遞)
  • 值傳遞舉例
    • 值傳遞.png
  • 地址傳遞舉例
    • 地址傳遞.png
  • 總結
    • 1.引數的傳遞有兩種:值傳遞和地址傳遞
    • 2.&表示獲取變數的地址
    • 3.值傳遞中,一個變數變了,另一個變數沒有影響,因為是兩個空間
    • 4.地址傳遞中,一個變數變了,另一個也變了,因為兩個變數指向同一個空間

銷燬變數

  • 用unset()來銷燬變數,銷燬的是變數名,變數值由PHP垃圾回收機制銷燬
  • 舉例
    • 銷燬變數.png

常量

定義常量

  • 用define()函式定義常量
    • define(常量名,值,[是否區分大小寫]) true表示不區分大小寫,預設是false;常量名前沒有$符,常量名推薦使用大寫
    • 定義常量.png
  • 定義常量可以用特殊字元,但是在呼叫的時候必須使用constant關鍵字呼叫
    • constant.png
  • 判斷常量是否定義,通過defined()判斷常量是否已經被定義
    • defined.png
  • 可以使用const關鍵字定義常量
    • const.png

預定義常量

  • PHP預先定義好的常量
  • 預定義常量.png

魔術常量

  • 魔術常量它們的值隨著他們在程式碼中的位置而改變
  • 魔術常量.png

資料型別

資料型別有兩種:強型別和弱型別;PHP是弱型別

基本型別(標量型別)

  • 整型
    • 存整數,PHP_INT_MAX獲取整型的最大值
    • 舉例
      • 整型舉例.png
    • 進位制轉換
      • 進位制轉換.png
  • 浮點型
    • 浮點數在記憶體中儲存的是近似值
    • 浮點數不能參與比較
      • 浮點數補課被比較.png
    • 如果浮點數要比較,必須確定比較的位數
      • 浮點數要比較.png
    • 提醒:如果一個整數超出了整型的範圍,會自動轉換成浮點型
  • 布林型
    • 不能使用echo和print_r輸出布林型,要使用var_dump()輸出
  • 字串型
    • 在PHP中單引號字串和雙引號字串是有區別的,單引號字串是真正的字串,雙引號字串要解析字串中的變數。
      • 例題
        • 單雙引號例題.png
    • 例題:{ }去變數值
      •  去變數值.png
    • 輸出特殊字元
      • 輸出特殊字元.png
    • 字串定界符
      • 字串定界符.png

複合型別

  • 陣列
    • 在PHP中陣列有兩種形式,索引陣列和關聯陣列:索引陣列:用整數做下標,預設從0開始,後面依次加一;關聯陣列:用字串做下標,通過=>符號將下標和值關聯起來
    • 例題:陣列的宣告
      • 陣列的宣告.png
    • 寫出陣列的下標
      • 寫出陣列的下標.png
    • 陣列的下標只能是正整數和字串
      • 陣列的下標只能是正整數和字串.png
    • 短陣列語法,可以直接通過中括號宣告陣列
      • 短陣列語法.png
    • 二維陣列的宣告
      • 二維陣列的宣告.png

特殊型別

  • 資源
    • resource
  • null

型別轉換

  • 自動型別轉換:當提供的型別和需要的型別不一致的時候會自動進行型別轉換
    • 自動型別轉換.png
  • 強制型別轉換
    • 語法:(資料型別)資料
    • 強制型別轉換.png
  • 其他型別和布林之間的轉換
    • 規則:0、空為假、非空非0為真

運算子

算術運算子

  • 在PHP中,算術運算子只能做數學運算
  • ++前置:先自增再運算;++後置:先運算再自增

比較運算子

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

  • 比較運算子的運算結果是布林值

邏輯運算子

  • & 與:運算子兩邊的表示式都要計算;| 或:運算子兩邊的表示式都要計算
  • &&短路與:如果前面的條件不滿足,後面的條件就不用計算了; ||短路或 ; !非
  • 例題
    • 邏輯運算子例題.png

賦值運算子

  • =、+=、-=、*=、/=、%=

字串連線符

  • echo ‘aa’.‘bb’ //字串拼接 aabb

錯誤抑制符(@)

  • 錯誤抑制符只對表示式有效
  • <?php echo @($aa+$bb); //錯誤抑制

三元運算子

  • 語法:表示式?值1:值2 //表示式的值為true,返回值1,否則返回值2
  • 舉例
    • 三元運算子.png

null合併運算子

  • null合併運算子.png

判斷

例題1、判斷閏年(練習雙分支)

  • 判斷例題1.png

練習2、判斷成績(練習多分枝)

  • 練習2.png

練習3、更改顏色(switch-case)

  • 練習3.png

XMind - Trial Version成績(練習多分枝)

  • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-pp89w8o6-1603250589471)(C:\Users\86157\Desktop\練習2.png)]

練習3、更改顏色(switch-case)

  • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-jbFbMBrM-1603250589471)(C:\Users\86157\Desktop\判斷例題3.png)]

XMind - Trial Version