2016/10/24
1.php代碼放在
<?php //單行注釋 /* 多行 注釋 */ ?>
2.PHP變量
變量以 $ 符號開始,后面跟著變量的名稱。
變量名必須以字母或者下劃線字符開始。
變量名只能包含字母數字字符以及下劃線(A-z、0-9 和 _ )。
變量名不能包含空格。
變量名是區分大小寫的($y 和 $Y 是兩個不同的變量)。
3.PHP變量作用域
分為四種,local,global,static,parameter。
在函數內訪問全局變量需要加 global 關鍵字!!不然是無法訪問全局變量的。
static:當一個函數完成時,它的所有變量通常都會被刪除。然而,有時候您希望某個局部變量不要被刪除。
要做到這一點,請在您第一次聲明變量時使用 static 關鍵字。
4.PHP echo 和 print 語句
echo
和 print
區別:
echo
- 可以輸出一個或多個字符串
print
- 只允許輸出一個字符串,返回值總為 1
提示: echo
輸出的速度比 print
快, echo
沒有返回值,print
有返回值1。
5.PHP數據類型
字符串;
整數,可以包含負數,包含八進制、十進制、十六進制;
浮點型,帶小數或指數形式;
布爾型;
數組;
對象;
NULL;
6.常量是全局的。
一個常量由英文字母、下劃線、和數字組成,但數字不能作為首字母出現。 (常量名不需要加 $ 修飾符)。
常量定義使用define()
函數:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
?>```
name:必選參數,常量名稱,即標志符。
value:必選參數,常量的值。
case_insensitive :可選參數,如果設置為 TRUE,該常量則大小寫不敏感。默認是大小寫敏感的。
###7.字符串操作符
####7.1并置運算符"."將兩個字符串連接起來。
如:
```<?php
$txt1="Hello world!";
$txt2="What a nice day!";
echo $txt1 . " " . $txt2;
?>```
####7.2 strlen()返回字符串長度
如:
```<?php
echo strlen("hello world!");
?>```
####7.3 strpos()
`strpos() `函數用于在字符串內查找一個字符或一段指定的文本。
如果在字符串中找到匹配,該函數會返回第一個匹配的字符位置。如果未找到匹配,則返回 FALSE。
如:
```<?php
echo strpos("Hello world!","world");
?>```
###8.PHP switch
```<?php
switch (n)
{
case label1:
//如果 n=label1,此處代碼將執行;
break;
case label2:
//如果 n=label2,此處代碼將執行;
break;
default:
//如果 n 既不等于 label1 也不等于 label2,此處代碼將執行;
}
?>```
###9.PHP數組
####9.1 `count()`可以計算數組長度;
####9.2 可以使用for循環遍歷數組:
```<?php
$words = array("a","b","c","d");
for($i=0; $i<count($words); $i++) {
echo $words[$i];
echo "<br>";
}
?>```
####9.3關聯數組
```<?php
$age = array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
/*等價于
$age['Peter'] = "35";
$age['Ben'] = "37";
$age['Joe'] = "43";
*/
echo "Peter is " . $age['Peter'] . " years old.";
?>```
####9.4遍歷數組方法匯總
#####9.4.1 `foreach()`
```<?php
$colors = array("red","green","yellow");
foreach ($colors as $color) {
echo "Do you like $color?<br/>";
}
?>```
#####9.4.2 遍歷關聯數組
```<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>```
###10.PHP數組排序函數
`sort()` - 對數組進行升序排列
`rsort()` - 對數組進行降序排列
`asort()` - 根據關聯數組的值,對數組進行升序排列
`ksort() `- 根據關聯數組的鍵,對數組進行升序排列
`arsort()` - 根據關聯數組的值,對數組進行降序排列
`krsort() `- 根據關聯數組的鍵,對數組進行降序排列
###11.命名空間
```<html>
<?php
namespace MyProject; // 命名空間前出現了“<html>” 會致命錯誤 - 命名空間必須是程序腳本的第一條語句
?>
</html>```
###12.面向對象(OOP)
使用extends關鍵字來繼承父類,只能單一繼承;
訪問控制:
public(公有):公有的類成員可以在任何地方被訪問。
protected(受保護):受保護的類成員則可以被其自身以及其子類和父類訪問。
private(私有):私有的類成員則只能被其定義所在的類訪問。
###13.接口
使用接口(interface),可以指定某個類必須實現哪些方法,但不需要定義這些方法的具體內容。
接口是通過 interface 關鍵字來定義的,就像定義一個標準的類一樣,但其中定義所有的方法都是空的。
接口中定義的所有方法都必須是公有,這是接口的特性。
要實現一個接口,使用 implements 操作符。類中必須實現接口中定義的所有方法,否則會報一個致命錯誤。類可以實現多個接口,用逗號來分隔多個接口的名稱。