PHP 進階(一)

學習一門語言實在是需要大量的知識儲備來堆砌而成。

PHP 進階(一)

千萬不要想著一步登天。經歷痛苦過程才能獲得最終的勝利!趕緊收下這一波乾貨吧,前方高能---------

1.數組的定義:$arr = array();表示創建一個空數組,並把創建的空數組賦值給變量$arr。數組的默認鍵值是從0開始的。

2. PHP有兩種數組:索引數組、關聯數組。

索引和關聯兩個詞都是針對數組的鍵而言的。

先介紹下索引數組,索引數組是指數組的鍵是整數的數組,並且鍵的整數順序是從0開始,依次類推。

3. 索引數組賦值有三種方式:

第一種:用數組變量的名字後面跟一箇中括號的方式賦值,當然,索引數組中,中括號內的鍵一定是整數。比如,$arr[0]='蘋果';

第二種:用array()創建一個空數組,使用=>符號來分隔鍵和值,左側表示鍵,右側表示值。當然,索引數組中,鍵一定是整數。比如,array('0'=>'蘋果');

第三種:用array()創建一個空數組,直接在數組裡用英文的單引號'或者英文的雙引號"賦值,數組會默認建立從0開始的整數的鍵。比如array('蘋果');這個數組相當於array('0'=>'蘋果');

4.$fruit=array('蘋果','香蕉','菠蘿');

for($i=0; $i<3; $i++){

echo '
數組第'.$i.'值是:'.$fruit[$i];

}

for循環可以將數組裡的所有值都訪問到;還有foreach:

PHP 進階(一)

5. 關聯數組是指數組的鍵是字符串的數組。

例如:

PHP 進階(一)

6. 關聯數組賦值有兩種方式:

第一種:用數組變量的名字後面跟一箇中括號的方式賦值,當然,關聯數組中,中括號內的鍵一定是字符串。比如,$arr['apple']='蘋果';

第二種:用array()創建一個空數組,使用=>符號來分隔鍵和值,左側表示鍵,右側表示值。當然,關聯數組中,鍵一定是字符串。比如,array('apple'=>'蘋果');

7. isset()函數用於判斷某變量是否為空,若不為空,則返回TRUE;為空,返回FALSE。

用數組變量的名字後跟中括號+鍵的方式來訪問數組中的值,鍵使用單引號或者雙引號括起來

8. PHP類和對象

類是面向對象程序設計的基本概念,通俗的理解類就是對現實中某一個種類的東西的抽象, 比如汽車可以抽象為一個類,汽車擁有名字、輪胎、速度、重量等屬性,可以有換擋、前進、後退等操作方法。

類是一類東西的結構描述,而對象則是一類東西的一個具體實例

在多種計算機編程語言中,var 被用作定義變量的關鍵字

9.

在car類中定義一個function叫getName,()內為空表示不需要傳參數就可以調用,而這個getName的作用就是返回本類對象的名字(return $this->name)

類通過關鍵字class開頭,然後是類名與花括號,在花括號中定義類的屬性與方法。類名必須是字母或下劃線開頭,後面緊跟若干個字母、數字或下劃線,類名最好能夠表意,可以採用名詞或者英文單詞。

要創建類的實例:使用New關鍵字

PHP 進階(一)

PHP 進階(一)

10. 在類中定義的變量稱之為屬性,通常屬性跟數據庫中的字段有一定的關聯,因此也可以稱作“字段”。屬性聲明是由關鍵字 public,protected 或者 private 開頭,後面跟一個普通的變量聲明來組成。屬性的變量可以設置初始化的默認值,默認值必須是常量。

默認都為public,外部可以訪問。一般通過->對象操作符來訪問對象的屬性或者方法,對於靜態屬性則使用::雙冒號進行訪問

受保護的屬性與私有屬性不允許外部調用,在類的成員方法內部是可以調用的。

例如

私有變量price只在內部被調用

PHP 進階(一)

11.方法:方法就是在類中的function,很多時候我們分不清方法與函數有什麼差別,在面向過程的程序設計中function叫做函數,在面向對象中function則被稱之為方法。同屬性一樣,類的方法也具有public,protected 以及 private 的訪問控制。

使用關鍵字static修飾的,稱之為靜態方法,靜態方法不需要實例化對象,可以通過類名直接調用,操作符為雙冒號::。

PHP 進階(一)

12.“+=”號表示左右相加賦值給左邊

靜態方法中,$this偽變量不允許使用。可以使用self,parent,static在內部調用靜態方法與屬性

13. HP5可以在類中使用__construct()定義一個構造函數,具有構造函數的類,會在每次對象創建的時候調用該函數,因此常用來在對象創建的時候進行一些初始化工作。

PHP 進階(一)

14. 靜態屬性與方法可以在不實例化類的情況下調用,直接使用類名::方法名的方式進行調用。靜態屬性不允許對象使用->操作符調用。

15. 對象比較,當同一個類的兩個實例的所有屬性都相等時,可以使用比較運算符==進行判斷,當需要判斷兩個變量是否為同一個對象的引用時,可以使用全等運算符===進行判斷


分享到:


相關文章: