一、搭建PHP-WEB服務器(WAMP環(huán)境)
1、安裝軟件
Apache、Mysql、PHP軟件,安裝過程省略
1.1、Apache目錄結(jié)構(gòu)
1.2、mysql目錄
mysql的bin目錄
2、WAMP環(huán)境整合
第一步、在Apache中,./conf/httpd.conf,文件配置,Apache識別PHP
#加載PHP
LoadModule php5_module d:/server/php/php5apache2_2.dll(php5apache2_2.dll文件所在的目錄)
#將PHP結(jié)尾的文件交給PHP模塊處理
AddType application/x-httpd-php .php
#加載PHP配置文件,即php.ini,文件到Apache配置文件中
PHPIniDir d:/server/php #(php.ini存在的路徑)
第二步、配置PHP文件操作mysql數(shù)據(jù)庫,php.ini文件
;在php.ini文件中開啟mysql擴展
extension = php_mysql.dll
;指定擴展文件所在的目錄
extension_dir = d:/server/php/ext ;就是PHP擴展模塊存放的路徑
注意:以上所有配置完成后,必須重啟Apache,才可以生效
二、虛擬機配置
首次配置
第一步,在Apache中的httpd.conf中加載虛擬機模塊
#Include conf/extra/httpd-vhosts.conf
第二步,在/extra/httpd_vhost.conf文件中修改,虛擬機配置
<VirtualHost *:80>
ServerName 域名
DocumentRoot 路徑
<Directory 路徑>
Order Deny,Allow
Deny from all
Allow from all
</Directory>
</VirtualHost>
第三步、修改Windows系統(tǒng)中的hosts文件路徑:C:WindowsSystem32driversetchosts
注意,所有修改完成后必須重啟Apache后才能生效
Apache配置文件
虛擬機配置文件
PHP配置文件
三、PHP嵌入HTML文件
第一,文件名字,結(jié)尾必須是.php然后直接在HTML代碼中寫PHP代碼例如
文件名字test.php
代碼實例:<html>
<head></head>
<body>
<!–html代碼–>
<p>this html word</p>
<!–php代碼–>
<?php echo 'holle world'; ?>
</body>
</html>
四、PHP基礎語法
1、常用標簽
<?php
//PHP代碼
?>
2、PHP注釋
單行注釋 // 注釋內(nèi)容
多行注釋/* 注釋內(nèi)容 */
3、定義變量,使用$符號聲明一個變量
語法:$變量名
$name
$school_number
$age1
$age2
變量命名規(guī)則(不要用中文和特殊字符就好了,區(qū)分大小寫)
1. 必須以$符號開始
2. 變量名可以由字母,下劃線和數(shù)字自由組合
3. 不能以數(shù)字開頭
4. 可以是中文
5. 變量命名通常需要見名之意
6. 變量名字有多個單詞組成的時候,可以使用兩種方式
a) 駝峰法:schoolName
b) 下劃線:school_name
7. php中變量一般是在定義的時候就賦值
刪除變量:unset($變量名);//unset刪除變量其實就是切斷了變量名和變量值之間地址的聯(lián)系
可變變量:就是一個變量或者函數(shù)返回的值,剛好等于一個普通變量的名字
例如:$a = b;
$b = 'c';
上面表達式等價于 $$a = $b = 'c';
4、常量
語法:define(‘常量名’,‘常量值’);
命名規(guī)則和變量一樣
常量和變量內(nèi)存原理圖
注意:PHP腳本所占用的所有內(nèi)存都會被釋放,被操作系統(tǒng)回收。
5、PHP語句結(jié)束符:英文分號“;”
五、數(shù)據(jù)類型
PHP有三大數(shù)據(jù)類型:標量,復合,特殊
標量:
整型:int或者integer,整數(shù),包括正整數(shù),負整數(shù)和0(整型在系統(tǒng)內(nèi)存中占4個字節(jié)保存數(shù)據(jù))
浮點型:float,double,精度
通常,float占用4個字節(jié)保存數(shù)據(jù),單精度,表示7個精度
double占用8個字節(jié)保存數(shù)據(jù),雙精度,表示15個精度
實際上PHP中float也是占用8個字節(jié)保存數(shù)據(jù)。
注意:PHP提供了一個函數(shù):time()獲得時間戳
字符串:string,凡是帶引號包好的字符都可以稱之為字符串
PHP中字符串的表示方式有三種:單引號,雙引號(可以解析變量和轉(zhuǎn)義字符 ),定界符
定界符:使用一種特殊的符號(<<<),并且增加一對起始和結(jié)束標識來包括字符串
語法:$str = <<< EOD
//字符串內(nèi)容
EOD;(EOD這幾個字符可以自定義,但是必須是頂格寫,字符內(nèi)容會原封不動輸出,HTML會瀏覽器會自行解析)
布爾:bool和Boolean,布爾類型只有兩個值TRUE和FALSE
復合數(shù)據(jù)類型:
數(shù)組:(重點中的重點)
對象:
特殊數(shù)據(jù)類型:
NULL:定義的變量的值為NULL或者變量被刪除
資源:所有外部數(shù)據(jù)的操作全部稱之為資源類型數(shù)據(jù)
六、系統(tǒng)預定義變量
系統(tǒng)定義的變量稱之為預定義變量,預定義變量有9個:
$_POST:接收用戶表單post方式提交的所有數(shù)據(jù)
$_GET:接收用戶表單get方式提交的所有數(shù)據(jù)
$_REQUEST:接收用戶get方式,post方式提交的數(shù)據(jù),還有cookie數(shù)據(jù)
$_FILES:接收用戶上傳的文件信息
$_SESSION:存放session數(shù)據(jù)(存放在服務器)
$_COOKIE:存放cookie數(shù)據(jù)(存放在瀏覽器)
$GLOBALS:全局變量
$_SERVER:保存服務器信息
$_ENV:保存系統(tǒng)環(huán)境信息
七、系統(tǒng)預定義常量
PHP_OS:操作系統(tǒng)內(nèi)核
PHP_VERSION:當前PHP的版本
PHP_INT_SIZE:int類型所占的字節(jié)數(shù)
PHP_INT_MAX:int類型能表示的最大值
魔術(shù)常量:可以自動變化的常量
__FILE__:當前腳本的文件路徑(絕對路徑)
__LINE__:當前所在的行數(shù)
__DIR__:當前腳本所在的目錄(PHP4以后才有)
__FUNCTION__:當前函數(shù)的名字
__METHOD__:當前方法的名字(類中的函數(shù))
八、傳值
變量間的賦值
變量間的傳值分為兩種:值傳遞和引用傳遞
值傳遞:將一個變量的值賦值一份,然后賦值給新的變量,這樣變量間改變互不干擾
引用傳遞:將一個變量的值得地址給了新變量,這樣變量間有一個改變另一個就會跟著改變,引用傳遞使用“&”符號“:例如$a = 1; $b = &$a;
九、運算符
1、算術(shù)運算符 + – * / %
2、賦值運算符 將右邊的值(計算結(jié)果)賦值給左邊的變量
賦值運算符:=,+=,-=,*=,/=,%=,.=
3、邏輯運算符(運算結(jié)果只會返回布爾值,不是true就是false)
邏輯運算符:與(&&),或(||),非(?。?/p>
&&:and左邊和右邊的條件必須同時為真,結(jié)果為真
||:or左邊和右邊的條件,只要一個為真,結(jié)果為真
?。簩l件結(jié)果本身取反,條件為真則結(jié)果為假,條件為假則結(jié)果為真
4、比較運算符:>,>=,<,<=,==,!=,===,!==
5、抑制錯誤,不讓錯誤出現(xiàn),使用,“ @ ”符號,例如 @session_start();
只能抑制警告類型的錯誤,語法或者詞法錯誤程序終止報錯不會運行
6、三元運算符,參與運算的表達式有三個
語法:表達式1 ? 表達式2 : 表達式3
如果表達式1為真,那么計算表達式2,否則計算表達式3
例如:$a=1;
$a>0 ? $a+1 : $a-1;
echo $a;
輸出結(jié)果 2
7、自操作運算符:++,–
++:分為前置++和后置++,$a = $a + 1
前置++:++$a,
后置++:$a++
8、連接字符串
字符串運算符:.和.=
十、流程控制
PHP的流程控制:順序結(jié)構(gòu),分支結(jié)構(gòu),循環(huán)結(jié)構(gòu)
1、順序結(jié)構(gòu)
代碼從上往下順序執(zhí)行
$a = 10;
echo $a;
2、分支結(jié)構(gòu)
PHP中有兩大分支結(jié)構(gòu):if分支,switch分支
if分支
簡單if if(條件){表達式 }
常用if if(條件){表達式}else{表達式}
復雜if if(條件){表達式}
elseif(條件){表達式}
elseif(條件){表達式}
else{ 表達式};
switch分支
語法
switch(條件變量){
case 值1: //條件變量 == 值1
//語句塊
break; //跳出當前分支,不再進行條件判斷
case 值2:
。。。。
default:
//如果沒有滿足任何條件的語句
}
switch執(zhí)行流程
3、循環(huán)結(jié)構(gòu)
PHP的循環(huán)結(jié)構(gòu)有:for,while,do-while,foreach
for循環(huán):已知初始化條件,范圍
for(條件初始化;條件范圍(判斷);條件變化){
//循環(huán)體
//循環(huán)控制:continue,break
}
for循環(huán)可以沒有條件
for(;;){
//循環(huán)體
//循環(huán)控制
}
while循環(huán):只判斷循環(huán)條件,循環(huán)條件的變更是在循環(huán)體內(nèi)的循環(huán)。
while(循環(huán)條件){
//循環(huán)體
//循環(huán)條件的變更
}
do-while循環(huán):跟while循環(huán)是相似的,while循環(huán)是先判斷條件后執(zhí)行循環(huán)體,do-while不論如何會先執(zhí)行一次循環(huán)體,然后再判斷條件。
do{
//循環(huán)體
//循環(huán)條件變更
}while(條件)
foreach循環(huán):循環(huán)遍歷數(shù)組的
foreach ($array as $key=>$values){
//執(zhí)行語句
}
十一、函數(shù)
函數(shù)定義
function 函數(shù)名字 (形式參數(shù)){
//函數(shù)體
}
注意,形式參數(shù)可以有多個
十二、作用域
變量能夠被訪問到的區(qū)域。
js中作用域:
全局作用域:任何地方(函數(shù)外和函數(shù)內(nèi))都可以被使用
局部作用域:只能在函數(shù)內(nèi)部被使用
PHP也有兩個作用域:全局作用域和局部作用域
全局作用域:只能在函數(shù)外部使用
局部作用域:只能在函數(shù)內(nèi)部使用
原則上:函數(shù)外部不能訪問函數(shù)內(nèi)部的變量,函數(shù)內(nèi)部不能訪問函數(shù)外部的變量,,但是可以通過,全局變量關(guān)鍵字 global,進行相互訪問
語法:global 變量名;
變量名 = 值;
或者使用$GLOBALS 例如$GLOBALS['A'] = 'A';
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » PHP必備的十二模塊知識點