介紹:
html ?css ?js運(yùn)行環(huán)境為瀏覽器露乏,瀏覽器在window上運(yùn)行.
運(yùn)行環(huán)境:wamp ?phpstudy ?xammp
php運(yùn)行環(huán)境apache胯舷,apache在Linux上運(yùn)行,php運(yùn)行之后需要數(shù)據(jù)庫
Apache處理該并發(fā)不是很好外永,ngnix支持高并發(fā)空盼,性能比apache好一點(diǎn).
php代碼運(yùn)行,必須在apache環(huán)境下才可以匙监,需要安裝phpstudy集成環(huán)境凡橱,把代碼拷貝到www目錄下.
地址欄輸入localhost可以直接訪問到www目錄,才可以正常解析.
php支持與html混排亭姥,混排的原則稼钩,php的代碼寫到php標(biāo)簽對里,不是php的代碼正常些就OK
我是真
語法規(guī)則:
1.php語句結(jié)束后必須加分號.但是帶花括號可以不加.
2.純php文件我們只要結(jié)束达罗,因為可能會導(dǎo)致多余空格的輸出.
3.php中如何聲明一個變量,必須以$開頭.
4.注釋://單行注釋/**/多行注釋#腳本注釋
5.php中變量命名坝撑,由字母數(shù)字下劃線静秆,$后面只能跟字母和_,然后跟數(shù)字巡李,不能直接在$后面跟數(shù)字抚笔,而且變量是區(qū)分大小寫的。
變量:
eaco:只能輸出簡單類型 ?字符串 ?數(shù)字 ?布爾值
var_dump:可以輸出變量的值和類型侨拦,而且可以打印數(shù)組.
傳值賦值:
$a = 123;
$b = $a;
$b= 222;
echo $a; ???//123
傳址賦值:
$c = 123;
$d = &$c;
$d = 666;mknl
echo $c; ???//666
get方式提交的數(shù)據(jù)會出現(xiàn)在地址欄中殊橙,明文顯示,不安全
全局超級數(shù)組:$_GET取get參數(shù).
post方式提交數(shù)據(jù)地址欄中不顯示狱从,安全膨蛮。全局超級數(shù)組:$_POST取post參數(shù).
request既可以接收到post過來的數(shù)據(jù),也可以接收get方式提交的數(shù)據(jù).
全局超級數(shù)組:$_request取post季研、get參數(shù).
常量:
定義:define(“常量名”敞葛,”常量值”);
常量名一般用大寫表示与涡,可快速判斷.
Php提供了系統(tǒng)的常量:
PHP_VERSION顯示PHP版本
PHP_OS顯示服務(wù)器的操作系統(tǒng)版本
TRUE ?FALSE表示真假的常量
檢測變量是否存在:
isset(變量名) ??返回值boolean
刪除變量:
unset(變量名) ?是一個語句惹谐,沒有返回值
檢測常量是否存在:
defined(常量) 返回值boolean
常量變量不同:
1.常量前面沒有美元符號
2.常量只能用define()函數(shù)定義,二不能通過賦值語句
3.常量一旦定義就不能被重新定義或者取消定義
4.常量的值只能是標(biāo)量(字符串驼卖、數(shù)字氨肌、布爾值、不是數(shù)組對象)
5.常量可以不用理會變量范圍的規(guī)則而在任何地方定義或訪問
數(shù)據(jù)類型:
當(dāng)轉(zhuǎn)換為boolean時款慨,以下值為false:其他值都為TRUE.
1.布爾值FALSE
2.整型值0(零)
3.浮點(diǎn)型值0.0(零)
4.空白字符串、字符串“0”
5.沒有成員變量的數(shù)組
6.沒有單元的對象(僅適用于PHP4)
7.特殊類型NULL(包括尚未設(shè)定的變量)
字符串:
單引號定義的變量谬莹,不能解析變量.
雙引號定義的字符串可以解析變量.
NULL:數(shù)據(jù)類型只有一個值NULL
1.變量未被賦予任何值
2.變量被賦值為NULL
3.被unset()函數(shù)處理后的變量
得到變量的類型:getType()
檢測是否為布爾型:is_bool
檢測是否為整型:is_int
檢測是否為浮點(diǎn)數(shù):is_float
檢測是否為null:is_null
強(qiáng)制類型轉(zhuǎn)換:
intval()強(qiáng)轉(zhuǎn)成整型
floatval()強(qiáng)轉(zhuǎn)成浮點(diǎn)型
srrval()強(qiáng)轉(zhuǎn)成字符串
運(yùn)算符流程控制:
Php流程控制
PHP中 有三種控制語句用以實現(xiàn)選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu):
1檩奠、 ?條件控制語句:if、else附帽、elseif和switch埠戳;
2、 ?循環(huán)控制語句:foreach蕉扮、while整胃、do while和for;
3喳钟、 ?轉(zhuǎn)移控制語句:break屁使、continue和return。
條件控制語句
If語句奔则,用法:
If(A)
Statement1蛮寂;
Else
Statement2;
解析:如果A為true易茬,則執(zhí)行statement1酬蹋;否則執(zhí)行statement2及老。
Switch語句,語法如下:
Switch(A)
{
Case val1:
Statement1;
Break;
Case val2:
Statement2;
Break;
Default:
Statement3;
}
當(dāng)一個case語句中的值和switch表達(dá)式A的值匹配時范抓,PHP開始執(zhí)行語句骄恶,直到switch程序段結(jié)束或者遇到第一個break語句為止
(如果沒有遇到break,則PHP將繼續(xù)執(zhí)行下一個case)匕垫。
與if相比switch達(dá)到了更高的效率:
While的語法:
While(A)
Statement;
解析:只要while表達(dá)式中的A為TRUE僧鲁,就執(zhí)行statement。
do···while與while的區(qū)別只是在循環(huán)結(jié)束時do···while進(jìn)行檢查年缎,不管循環(huán)的條件滿足與否悔捶,do···while都將執(zhí)行一次。
Foreach語句单芜,用于數(shù)組的遍歷蜕该,以后將會學(xué)到。
轉(zhuǎn)移控制語句
PHP中主要有三種轉(zhuǎn)移控制語句:break洲鸠、continue和return堂淡。
1、 ?break語句
break語句用于結(jié)束當(dāng)前循環(huán)扒腕,break可以接受一個可選的數(shù)字參數(shù)來決定跳出幾重循環(huán)绢淀。
Continue語句
Continue用于跳出本次循環(huán),與break不同的是瘾腰,continue跳出后將繼續(xù)執(zhí)行下一次循環(huán)皆的。
Return語句
Return語句用于結(jié)束一個函數(shù)或者一個腳本文件。如果在一個函數(shù)中調(diào)用return語句將立即結(jié)束這個函數(shù)的執(zhí)行蹋盆,并將它的值作為參數(shù)返回费薄。
當(dāng)然,在PHP中也可以將return當(dāng)做一個函數(shù)來使用栖雾。如return()楞抡,并在括號內(nèi)寫上要返回的參數(shù)。這種用法并不常見析藕。
函數(shù):
補(bǔ)充:打印變量的方法:print_r則是打印復(fù)合類型如數(shù)組對象
方法
functionsum($num1,$num2){}
當(dāng)沒有return語句時召廷,函數(shù)執(zhí)行的結(jié)果NULL
JS中沒有return語句時,返回結(jié)果為undefined
檢測函數(shù)是否存在function_exits(函數(shù)名)var
在php中:
$yj = 123;//全局變量
functionsum(){
$yj = 222;//局部變量 ??二者互不影響
echo $yj;
}
sum();
global引入全局變量:(有利于程序的開發(fā)和維護(hù))
$p= 'pp';
functionp(){
global$p;
echo $p;
}
p();//pp
靜態(tài)變量:
functionp(){
static $a = 1;
$a++;
echo $a;
}
p();//2
p();//3
p();//4
默認(rèn)參數(shù):
functionsum($num1,$num2=2){
echo $num1+$num2;
}
sum(1,5)//6
需要默認(rèn)值的放到后邊
變量函數(shù):
可以通過參數(shù)動態(tài)獲日穗省:
$fn =isset($_GET['action'])?$_GET['action']:"jpg";
functionjpg(){
echo "jpg is run";
}
functionpng(){
echo "png is run";
}
functionpsd(){
echo "psd is run";
}
$fn()
遞歸調(diào)用:
使用實例(求階乘):
functionjc($num){
if($num==1){
return 1;
}else{
return $num*jc($num-1);
}
}
echo jc(5)
代碼重用:
require竞慢、include都是相當(dāng)于把代碼復(fù)制粘貼到用的場景中.但是不能同步聲明,如果需要則在后面加_once.
require引入失敗后面代碼不能執(zhí)行
include引入失敗后面代碼可以執(zhí)行
時間:
UTC協(xié)調(diào)世界時,又稱統(tǒng)一時間治泥,國際協(xié)調(diào)時間
GMT是中央時區(qū)梗顺,北京在東八區(qū),相差8個小時车摄,所以北京時間=GMT時間+八小時
PHP時區(qū)北京為東八區(qū)寺谤,設(shè)置為PRC仑鸥,默認(rèn)時區(qū)為上海
//返回當(dāng)前時間戳和微秒數(shù)microtime