LAMP概述:Linux+Apache+MySql+Php。
PHP數據類型:
變量($i):四種標量類型,布爾型,整型,浮點型,整型。
兩種符合類型:數組,對象。‘
兩種特殊數據類型:資源,null。
常量:define("name",value) 變量名稱name前面沒有$符號
PHP外部變量與環境變量:
外部變量:
$_Get
$_Post
$_Request
$_Files
$_Cookie
$_Sission
環境變量:
$_Server
$_ENV
PHP運算符:
PHP流程控制之分支結構:
if...else...
switch...case...default...
try...catch...
PHP流程控制之循環結構:
while(){
}
do{
}while(true)
for(,,){
}
PHP中函數的聲明(有返回值成爲函數,無返回值成爲一個過程):
函數是一段完成指定任務的已命名代碼
function 函數名(參數1,參數2...){
函數體
return 返回值
}
函數中可能使用的關鍵字 static global $Global["變量名"]
function_exists(函數名):判斷函數是否存在
PHP中字符串聲明的方法:
雙引號:可以在雙引號裏執行變量,可以使用轉義字符
單引號:不能在雙引號裏執行賓利,可以使用部分轉義字符
反引號:在反引號裏面執行服務器命令
定界符:$str=<<<here.....
.................here;和雙引號一樣,但可以在裏面使用任何多的是雙引號。
PHP中的字符串函數:
echo():也可寫成 echo"Hello World"
print():具有返回值的
die():輸出後退出程序
printf():格式化輸出,類似於C語言裏面的寫法
sprintf():格式化保存
print_r():輸出數組
var_dump:輸出字符串類型
ltrim(),rtrim(),trim(),
strrev():字符串反轉
explode():字符串分割
implode():字符串聯合
對URL字符串的解析:parse_str(),parse_Url(),
對Url編碼處理的函數:rawurlencode(),urlencode(),urldecode()
構造查詢字符串:http_build_query()
PHP中的數組:
數組是一個可以存儲一組或一系列數值的變量
1.可以存儲任何類型的數據
2.長度可變
PHP數組分爲兩類:
1.索引數組:數組的索引是整數,從0開始
2.關聯數組:數組以字符串作爲索引值
$arr[0]=100;$arr[]=200(可以不加下標)
count($arr):正在佔有的空間就是正在的值。
$arr=array(1,2,"a","b")
$arr=array("age"=>19,2,"name"=>"張三",true)
echo $arr["name"] //張三
注:關聯數組的下標不會影響到索引數組的下標
二維數組:
$arr=array(array(1,2,3),array("a","b","c"))
數組的變量(foreach,while(),list():將數組轉換爲變量來使用,each()):
$arr=array(1,2,3,"abc"=>"one","two",100,"three");
foreach($arr as $value){
echo $value
}
while($a=each($arr)){
echo $a["key"];//$a[0]
echo $a["value"] //$a[1]
}
$one=array(1,2,3)
list($a,$b,$c)=$one //$a=1,$b=2...
數組相關處理函數:
curren(): next(): end(); rest(); count(); sizeof(); array_change_key_case();array_chunk(); extract();compact();sort();sort();
PHP面向對象:
內存分爲四塊:
1.初始化靜態字段。
2.棧內存(空間小,訪問速度快)
3.堆內存(空間大,範文速度慢,堆裏面的數據不能直接訪問)
4.代碼段
特殊的引用關鍵字$this
構造方法(在創建一個對象後自動調用) 1.function 類名(){} 2. function __construct(){}// PHP5裏面的寫法(若兩個都有,則使用function_construct{}這個)
析構方法(在對象消失前自動調用) function __destruct(){}
封裝性(private):__set($proName) __get($proName,$value):在直接調用私有屬性時調用
__isset():判斷對象裏的成員是否存在(不是私有的情況)
__onset():刪除變量,在內存中刪除
繼承(extends.不支持多繼承):
方法的重載:php中不支持方法的重載,只能覆蓋父類中相同的方法
訪問權限:private procted(本類或子類中使用) public
面向對象中常用的關鍵字:
final:只能定義類和方法,定義類,該類不能夠被繼承。定義方法,該方法不能被覆蓋
static:屬於類而不屬於對象實例 ,通過類名來訪問。類名::$成員屬性 (類名也可以使用.self)
const:是一個在類裏面把定義成員屬性爲常量的關鍵字 。類名::成員屬性(沒有$符號)
面向對象中常用的魔術方法:
__tostring():用於打印對象的形象,輸出對象時自動調用
__clone():在調用clone()方法時自動調用
__call($funName,$argus):當調用不存在的函數時自動調用
__auto($className) :如果在頁面中用到類了,就會自動調用
對象的串行化(Serialize()):將對象轉換成二進制字符串
對象的反串行化(Unserialize):將二進制字符串轉換成對象
部分序列化(__sleep),部分反序列化(__wakeup)
抽象方法和抽象類(abstract)
接口(interface)
繼承接口(implements)