一、PHP簡介
- PHP超文本預(yù)處理器。是嵌入HTML文件中的服務(wù)器端腳本程序。換句話:PHP只能運(yùn)行在服務(wù)器上。
- 一個(gè)HTML文件中,可以包含的代碼:HTML代碼、CSS代碼、JS代碼、PHP代碼等。
PHP的主要功能:web應(yīng)用開發(fā)(線上產(chǎn)品)。
- PHP入門比較簡單,語法與C、Java、C#、JS等相似。
- PHP主要用函數(shù)做各種操作,而JS主要用內(nèi)置對象作操作。
二、PHP語言基礎(chǔ)
- PHP代碼,跟ASP一樣,都是嵌入到HTML文件中去的。
- PHP代碼標(biāo)記:<?php …… ?>
- PHP文件的擴(kuò)展名:.php
- PHP文件的執(zhí)行,必須從域名開始訪問(必須要經(jīng)過虛擬主機(jī))。
- 訪問PHP文件的路徑上,不能包含空格和中文。
- PHP也是區(qū)分大小寫,但關(guān)鍵字和函數(shù)名不區(qū)分大小寫。
- PHP中每條語句,必須以英文下的分號結(jié)束(;)。

三、PHP注釋
- HTML注釋:<!—注釋內(nèi)容 -->
- CSS注釋:/* */
- JS注釋://或/* */
注意的功能:是為以后修改項(xiàng)目時(shí),找問題非常方便。
- PHP的單行注釋://或#
- PHP的多行注釋:/* */
提示:多行注釋不能相互嵌套。
注意:PHP的注釋,與代碼一樣,最終在客戶端都是不可見。
技術(shù)分享
四、PHP變量
1、變量的概念
變量是臨時(shí)存儲數(shù)據(jù)的容器。
2、變量的命名規(guī)則
- 變量名可以包含:a-z、A-Z、0-9、_(下劃線)。
- 變量名不能以數(shù)字開頭。
- 變量名可以以字母或下劃線開頭。
- PHP的變量前,必須以“$”符號開頭,但不是變量名的一部分。如:$name、$age
- 對長文件名,如何命名呢?
“駝峰式命名”:$getUserName、$getUserPassword
“下劃線式命名”:$get_user_name、$get_user_pwd
3、寫程序的一般思路
- 變量初始化。
- 項(xiàng)目運(yùn)行的過程。
- 輸出結(jié)果。

4、變量賦值
使用“=”將右邊的運(yùn)算結(jié)果,賦給左邊的變量名。換句話說:將“=”右邊的數(shù)據(jù),裝到左邊容器中。
$name = “abc”;
$name = 100 + 200;
$name+10 = 100; (//錯(cuò)誤的寫法)
PHP變量的數(shù)據(jù)類型
提示:變量本身沒有類型之分,變量的數(shù)據(jù)才有類型之分。
JS 中變量的數(shù)據(jù)類型:
基本數(shù)據(jù)類型(只有一個(gè)值):字符型、數(shù)值型、布爾型、NULL、undefined
復(fù)合數(shù)據(jù)類型(可能有多個(gè)值):數(shù)組、對象、函數(shù)。
PHP 中變量的數(shù)據(jù)類型:
標(biāo)量數(shù)據(jù)類型:字符串型、整型、浮點(diǎn)型、布爾型
復(fù)合數(shù)據(jù)類型:數(shù)組、對象
特殊數(shù)據(jù)類型:資源、NULL
1. 整型
整型的取值范圍:-21億~21億

2. 浮點(diǎn)型(小數(shù):有限小數(shù)、無限小數(shù))
浮點(diǎn)型取值范圍:-1.7E-308~1.7E+308
舉例:9E3 => 9*10^3 = 9000


3. 字符串型
字符串的表示方法有三種:
(1)用單引號
單引號內(nèi)的轉(zhuǎn)義字符,只能是:\\、\’
<?php //用單引號表示字符串 $str =‘自掛\‘東南\\枝‘; echo $str;?>

(2)用雙引號
雙引號內(nèi),所有的轉(zhuǎn)義字符都能使用。如:\、\’、\”、$、\n、\r、\t
(3)長字符串的表示方法
- 長字符串表示,必須放在“<<<heredoc”和 “heredoc;”之間。
- “<<<heredoc”必須是開頭的標(biāo)記。
- “heredoc;”必須是結(jié)束的標(biāo)記。必須是單獨(dú)一行,并且頂頭寫。
- heredoc可以自定義名稱。
- 可以直接解析PHP變量。
//長字符串的表示方法
$name = "林長生";
$edu="北京理工大學(xué)";
$str = <<<heredoc
<p onMouseOver="pOver(this)" onMouseOut="pOut(this)">
1.tornado
2.Python 和Ruby,scala
3.semantic UI 和 Element UI
4.app hybrid開發(fā)
5.backbone
6.Grunt,Gulp
7.Ember.js ,chart.js,undescore.js
8.typescript
9.RESTful service
瀏覽器兼容問題
解決人: {$name} 來自: {$edu}
</p>
<script type="text/javascript">
function pOver(pObj){
pObj.style.backgroundColor="skyblue";
}
function pOut(pObj){
pObj.style.backgroundColor="";
}
</script>
heredoc;
echo $str;

(4)字符串的注意事項(xiàng)
- 在雙引號內(nèi),輸出是變量的值。如:echo “{$name}的年齡是24歲”
- 在單引號內(nèi),輸出的是變量的名稱,而不是值。
- 在雙引號內(nèi),如果一個(gè)變量名后跟一個(gè)非空字符,則會讓編譯器糊涂。這種情況解決方案是:后面可以跟一個(gè)空格字符,也可以跟英文下的標(biāo)點(diǎn)符號,這些都會解析變量的。

可以使用大括號,將變量包起來,也能解析變量的。

4. 布爾型
$a = true;
$b = false;
布爾值,常用在條件判斷中。如:if、while、for等。
5. 資源類型
資源類型:是指PHP對外部數(shù)據(jù)的一個(gè)引用。如:數(shù)據(jù)庫、文件操作、圖片驗(yàn)證碼等。
<?php
//PHP鏈接MySQL數(shù)據(jù)庫(舊的,將要移除)
// $link = mysql_connect("localhost","root","");
// echo $link;
header("content-type:text/html;charset=utf-8");
$servername = "localhost";
$username="root";
$password="";
$conn=new mysqli($servername,$username,$password);
if($conn->connect_error){
die("數(shù)據(jù)庫連接失敗:".$conn->connect_error);
} else {
echo "數(shù)據(jù)庫連接成功";};
?>
6. NULL
空型:當(dāng)使用一個(gè)不存在的變量時(shí),返回空型??招鸵话阏J(rèn)為變量不存在。
空型只有一個(gè)值,就是NULL,不區(qū)分大小寫。
PHP變量的類型判斷
1. var_dump()
描述:打印變量的相關(guān)信息(包括變量的類型和值)
語法:void var_dump ( mixed $expression [, mixed $... ] )
參數(shù):$expression是指要打印變量的名稱,可以是多個(gè)變量,多個(gè)變量之間用逗號隔開。
返回值:無。
2. is_()*
is_bool():判斷變量是不是布爾型。
is_int():判斷變量是不是整型。
is_float():判斷變量是不是浮點(diǎn)型。
is_numeric():判斷變量是不是數(shù)值型。
is_string():判斷變量是不是字符串。
is_array():判斷變量是不是數(shù)組
is_object():判斷變量是不是對象
is_null():判斷變量是不是空型。
is_resource():判斷變量是不是資源型。
3. isset()
描述:檢測變量是否設(shè)置。
語法:bool isset ( mixed $var [, mixed $... ] )
返回值:如果變量存在,且不等于NULL,則返回TRUE。否則,返加FALSE。
<?php
//form表單提交
// if(isset($_GET)){
// //打印全局?jǐn)?shù)組的信息
// var_dump($_GET);
// }
if(isset($_POST["username"])){
//獲取表單元素的值
$username = $_POST["username"];
echo "用戶名:{$username}";
}
?>
<form name="formal" method="get" action="">
用戶名:<input type="text" name="username">
密碼: <input type="password" name="userpwd">
<input type="submit" value="提交表單">
</form>
4. empty()
描述:檢查一個(gè)變量是否為空
語法:bool empty ( mixed $var )
說明:換句話說,""、0、"0"、NULL、FALSE、array()、var $var;以及沒有任何屬性的對象都將被認(rèn)為是空的,如果 var 為空,則返回 TRUE。

PHP如何獲取表單提交數(shù)據(jù)
1. 超全局?jǐn)?shù)組變量:$_GET[]
描述:獲取表單 method = “get” 提交的數(shù)據(jù)
舉例:$username = $_GET[“username”];
<?php
//form表單提交
// if(isset($_GET)){
// //打印全局?jǐn)?shù)組的信息
// var_dump($_GET);
// }
if(isset($_POST["username"])){
//獲取表單元素的值
$username = $_POST["username"];
echo "用戶名:{$username}";
}
?>
<form name="formal" method="get" action="">
用戶名:<input type="text" name="username">
密碼: <input type="password" name="userpwd">
<input type="submit" value="提交表單">
</form>
2. 超全局?jǐn)?shù)組:$_POST[]
描述:獲取表單 method = “post” 提交的數(shù)據(jù)
舉例:$username = $_POST[“username”];
變量之間的運(yùn)算,必須是同類型的。如果類型不同,則必須轉(zhuǎn)成同類型,然后再運(yùn)算。
變量類型的轉(zhuǎn)換:系統(tǒng)自動轉(zhuǎn)換、強(qiáng)制轉(zhuǎn)換(手動轉(zhuǎn)換)
PHP數(shù)據(jù)類型轉(zhuǎn)換
1. 其它類型轉(zhuǎn)成布爾型

2. 其它類型轉(zhuǎn)成數(shù)值型

3. 其它類型轉(zhuǎn)成字符型(了解)

PHP運(yùn)算符
1. 算術(shù)運(yùn)算符:+、-、*、/、%、++、--
“%”取余。兩個(gè)數(shù)相除取余數(shù)。如果余數(shù)為0,說明能除盡。
舉例:10 % 3 = 1 //余數(shù)為1,說明10不能被3整數(shù)-
“++”自加1。有兩種用法:作前綴(++$i)和作后綴($i++)。
(1) 如果單獨(dú)使用,$i++和++$i,結(jié)果一樣。(2) 如果將$i++和++$i,混在其它表達(dá)式當(dāng)中,則結(jié)果不一樣。
$c = $a+++10; //等于$c = ($a++)+10
2. 字符串運(yùn)算符:.或.=

3. 賦值運(yùn)算符:=、+=、-=、*=、/=、%=
“=”賦值號。將右邊運(yùn)算結(jié)果,賦給左邊變量。
“+=”先加后等。$a += 10 //展開后 $a = $a+10
“-=”先減后等。$a -= 10 //展開后 $a = $a – 10
“*=”先乘后等。$a *= 10 //展開后 $a = $a * 10
4. 比較運(yùn)算符:>、<、>=、<=、==、!=、===、!==
注意:比較運(yùn)算符的運(yùn)算結(jié)果,就是一個(gè)布爾值。
“=”賦值號。
“==”是等于。判斷值是否相等,不管類型。如: 10 == “10px” //true
“===”全等于。判斷類型是否一致,還要判斷值是否相等。10 === “10px” // false
5. 邏輯運(yùn)算符:&&、||、!
“&&”邏輯與(并且關(guān)系)。如果左右兩個(gè)操作數(shù)的結(jié)果都為TRUE,則總結(jié)果為TRUE。只要有一個(gè)為FALSE,則總結(jié)果為FALSE。
“!”邏輯非(取反)。
!TRUE = false
!100 = false
三元運(yùn)算符
二元運(yùn)算符:是左右有兩個(gè)操作數(shù)。如:+、-、*、/
三元運(yùn)算符:是三個(gè)操作數(shù)或者表達(dá)式。
運(yùn)算符優(yōu)先級

PHP相關(guān)
原文:http://www.cnblogs.com/mrszhou/p/7260968.html
