三個月就這麼悄悄溜走了,本K對於前端雖然有了一定的認識,但對一些方面還是處於一種比較萌幣的狀態,就在這種萌幣狀態下,本K又跟著大神浩開始了後臺語言—PHP語言的學習。PHP的學習對於學過其他語言的人來說,是非常easy的(原因後續會提及),K在初次接觸的時候也就僅僅是對一些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多個常量
就先給大家介紹這些小基礎,欲知後事如何,請......點贊