前端向后台的華麗轉身 — PHP入門篇


  三個月就這么悄悄溜走了,本K對於前端雖然有了一定的認識,但對一些方面還是處於一種比較萌幣的狀態,就在這種萌幣狀態下,本K又跟着大神浩開始了后台語言—PHP語言的學習。PHP的學習對於學過其他語言的人來說,是非常easy的(原因后續會提及),K在初次接觸的時候也就僅僅是對一些PHP的寫法有點膈應而已......不多說廢話了,下面就由本K帶着同志們瞅瞅PHP到底是啥。

一、那些PHP不得不說的事。

 

  Hypertext Preprocessor,又稱為超文本預處理器(HTML為超文本標簽語言,這里敲黑板...),就是我們所說的PHP。它是一種糅雜百家的后台語言,在PHP中,可以見到C、Java等語言的寫法和它自創的一些寫法,這也就是為什么說學過其他語言的人會比較容易接受PHP。

  至於現如今PHP的版本問題,我們現在常用的是5.3.10版本及以上版本,別問我為啥,就算問我我也不會告訴你原因是這個版本兼容性好的!

  再者,開發PHP會需要一定的開發環境,我們現在經常用的是wamp(Windows + Apache + MySql + PHP),其他諸如Lamp(Linux + Apache + MySql + PHP)、PHPStudy、APPServer等,也是經常用的,在開發環境的選擇上,在兼顧自己工作需求的情況下,當然是蘿卜青菜、各有所愛啦。

  最后,提一下PHP的兼容性問題。PHP幾乎可以鏈接所有的數據庫,並友好的兼容支持各種操作系統,所以說,PHP能夠火起來也是在情理之中的。

二、初識PHP。

聊了這么多,PHP文件到底長啥樣呢?咱們來看圖說話~

  這就是我們最常見到的php文件結構,K來給大家講講結構從上到下都是些啥。

  這個是php文件或段落開始的標志,象征着一個php腳本從這里開始;

  這句話是為了使php腳本中的中文能夠正常顯示,所添加的header;

  主體部分就不啰嗦了,后面會講到;

  這個是php腳本的結束,在某些情況下是可以省略掉的,后面K會細講。

  除上面大家看到的這種結構以外,php腳本還可以有很多寫法,但這里K就不講了,因為其他幾種寫法不然就是回合系統起沖突,不然就是不推薦使用,K覺得還是先研究透徹這一種寫法,在去琢磨其他吧。

三、正兒八經說PHP — 入門篇

(一)PHP中的指令分隔符 — ;

  這一點是學過JS的同志們最容易犯錯誤的一點,這里着重給大家說一下;的使用注意事項!(敲黑板......)

  1、PHP中的結構定義語句,不需要使用分號結尾,分支、循環、類、函數等}結尾的。
  2、PHP中的功能執行語句,不用}結尾的,必須使用分號結尾。
  3、特例:最后結束標記?>前的最后一條語句,可以省略分號。

(二)PHP中的注釋

  PHP中的注釋有四種,自己瞅圖~

(三)PHP中的變量

  1、PHP中的變量。聲明與使用,必須用$開頭。
  2、PHP是一種弱類型預言,變量其實並不需要聲明,可以直接給變量賦任何類型的值。
  3、PHP中可以使用連等同時聲明多個變量。而不能使用,分隔
   >>>例如:$num1=$num2=$num3=$num4=5;
  4、常用變量函數:
   4.1 unset(); 刪除並釋放變量;
   4.2 isset(); 檢測變量是否設置;
   4.3 empty(); 檢測變量是否為空(未設置或值為null都為空)。
  5、變量的命名:只能由字母數字下划線組成,開頭不能為數字。
   >>> 而且,PHP中變量區分大小寫!
   >>> 但是,PHP內置函數或者類名不區分大小寫!
  6、PHP中的數據類型(八種)(敲黑板......)
   6.1 四種標量類型:布爾型Boolean、 整形Integer、 浮點型Float/Double、 字符串String
   6.2 兩種符合類型:數組Array、 對象Object
   6.3 兩種特殊類型:資源Resource、 空null
  7、整形的范圍:從-2^31~(2^31-1)超過這個范圍,自動轉為浮點型。

(四)PHP中的字符串

  PHP支持三種方式聲明字符串:
  1、'':單引號
  2、"":雙引號
  3、<<<:定界符 $str = <<< s(定界標識符)
   //定界符聲明字符串,通過<<<(定界標識符)開始
   //遇到頂格的定界標識符結束,一個空格都不能有
   //定界標識符可以是任意字母,只需要保證開始和結束一致即可
  s(頂格的定界標識符);
  4、三種聲明方式的區別:
   4.1 定界符功能默認與雙引號相同。
   4.2 單引號中不能解析變量;雙引號可以解析變量。
    >>> 雙引號解析變量時,需注意變量名后需用空格與其他字符分隔,或者用{}包裹起來 "hahaha${num}hahaha" "hahaha{$num}hahaha"均可。
   4.3 單引號中可以放雙引號;雙引號中可以放單引號。但是不能放自身相同類型的引號。
   4.4 單引號中不能使用轉義字符(除了單引號''本身,轉義符\本身);雙引號中可以使用轉義字符。

(五)PHP中的偽類型

  偽類型:並不是一種真實存在的數據類型。它的存在僅僅是告訴程序員可以是哪些、哪種數據類型,常用於撰寫幫助文檔時使用。
  mixed:代表參數可以是多種不同數據類型;
  number:代表參數可以使Integer或者Float;
  callback:代表參數可以是一個回調函數。

(六)PHP中的數據類型轉換

  1、自動類型轉換:表示運算的時候,Boolean、null、String等類型,會先自動轉為int和Float類型
    null --> 0 true --> 1 false --> 0
    string --> 第一個非數值字符前的數字,沒有轉為0 "123a" --> 123
  2、強制類型轉換,根據自己的需求,強制將變量轉為其他類型的變量:
   2.1 $新變量 = (新類型)$原變量
    >>> $str = (String)1;
  新類型可以使用全拼,也可以使用縮寫
  可以強制轉換的類型如下:
  (int),(integer) - 轉換成整型
  (bool),(boolean) - 轉換成布爾型
  (float),(double),(real) - 轉換成浮點型
  (string) - 轉換成字符串
  (array) - 轉換成數組
  (object) - 轉換成對象
   2.2 使用setType()函數強轉
   bool setType(mixed var,String type);第一個參數表示任何類型的變量,另一個參數表示字符串類型的數據類型
   2.3 兩種轉換的區別
    第一種是將轉換之后的結果賦給新變量;
    第二種直接修改了原變量的數據類型。

(七)PHP中的判斷變量類型的測試函數(崩潰狀......)

is_bool():判斷是否是布爾型
is_int()、is_integer()和is_long():判斷是否為整型。
is_float()、is_double()和is_real():判斷是否為浮點型
is_string():判斷是否為字符串
is_array():判斷是否為數組
is_object():判斷是否為對象
is_resource():判斷是否為資源類型
is_null():判斷是否為null
is_scalar():判斷是否為標量
is_numeric():判斷是否是任何類型的數字和數字字符串
is_callable():判斷是否是有效的函數名

(八)PHP條件判斷中算作false的情況(敲黑板......)

  1、Boolean:false
  2、Integer:0
  3、Float:0.0
  4、String: "" "0" ("0.0" "000" 都算對!只有一個0算錯!)
  5、空Array
  6、空Object僅在PHP4算false,其他版本對象都算TRUE
  7、null和尚未定義的變量都算錯
  8、所有資源都算對!!!!!(除PHP4,所有對象也算對 )

 (九)PHP中的常量(要堅強......)

  1、常量的定義
   bool define(String 常量名,mixed 常量值[,bool 是否區分大小寫]);
  2、常量的注意事項
   2.1 常量定義只能使用define函數
   2.2 常量名原則上要求必須使用大寫聲明。而且必須不能帶$符號
   2.3 常量聲明以后,默認全局范圍有效,沒有作用域之說
   2.4 常量不但不能改,而且不能刪,unset()、setType()等函數均無效
   2.5 常量默認區分大小寫,但是可以在聲明常量時,將define第三個參數設為true即可改為不區分大小寫,但是原則上不改
   2.6 常量必須使用define()定義后才能使用,如果使用未聲明的常量,則會將常量名轉為常量字符串,但是會報警告
   2.7 常量的值只能是標量
  3、可以使用constant讀取常量的值,注意用""包裹常量名
      可以使用get_defined_constants();獲取所有已定義常量,包括系統自定義的n多個常量

   就先給大家介紹這些小基礎,欲知后事如何,請......點贊


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM