1、數組:php
一、建立一個新的數組:$arr = array();json
二、php有兩種數組,索引數組與關聯數組。
索引數組:下標0123,像JS裏的數組同樣。
關聯數組:下標爲字符串,像JS裏的json對象同樣。數組
三、索引數組的賦值:有三種形式:$arr=array("蘋果"); $arr[0]="蘋果"; $arr=array(0=>"蘋果");
關聯數組的賦值:有兩種形式:$arr = array("apple"=>"蘋果"); $arr["apple"]="蘋果";app
2、函數:函數
一、函數中若是沒有return,默認返回值爲NULL。this
二、可變函數:經過變量的值來調用函數。 調用方法:變量名加括號。
例:function f1(){}; $name=f1; $name();spa
三、判斷函數是否存在:function_exists(函數名),返回值爲 true / false 。相似的還有 class_exists()、file_exists()、method_exists()。對象
3、類與面向對象。繼承
一、類:類是一類東西的結構描述,二對象則是一類東西的一個具體實例。索引
二、類的定義: class Car{ }; 實例類:new Car();
三、類的屬性:類中定義的變量稱之爲屬性,也叫類的字段。由 屬性聲明 變量名組成。
屬性聲明:public、protected、private:表示公開的、受保護的、私有的。默認爲public。
訪問:通常經過->來訪問對象的方法或屬性。對於靜態屬性則使用::進行訪問。
四、類的方法:類裏的function稱爲方法,聲明一樣有public、protected、private。
靜態方法:使用static聲明的,稱爲靜態方法,靜態方法不須要實例化對象,能夠經過類名::直接調用。
五、構造函數:在類中使用__construct()定義一個構造函數,會在對象初次實例化的時候調用,經常使用來進行一些初始化操做。
六、析構函數:在類中使用__destruct()定義,當對象的全部引用被刪除,或對象被顯式地銷燬( 如unset() )時會執行的函數。
七、靜態關鍵字static:靜態屬性和方法能夠再也不實例化的狀況下調用,使用 類名::方法名 的方式調用。 ps:不能經過->形式調用。
靜態方法中,不能使用$this,但可使用self、parent、static在內部進行調用。
八、訪問控制:
public:能夠在任何地方被訪問。
protected:只能夠在其自身、子類或父類中訪問。
private:只在當前類中進行訪問。
類的屬性:必須制定訪問控制類型。
九、對象繼承:class 子類 extends 父類{ } ;
十、重載:動態建立屬性和方法,是經過魔術方法實現的。
屬性的重載:經過 __set、__get、__isset、__unset 實現對屬性的 賦值、讀取、判斷、銷燬。
方法的重載:經過 __call 實現。當調用不存在的方法時,就會執行__call方法。
十一、對象其餘特性: 對象比較:同一個類的兩個對象,若是全部屬性都相等,==值爲true。若是兩個對象是同一個引用地址,則===值爲true。 對象克隆:$obj2 = clone $obj1 ; 對象序列化:使用serialize()進行序列化,使用unserialize()進行反序列化。 $str = serialize($obj); $obj = unserialize($str);