【學習資料】
視頻: https://www.bilibili.com/video/BV1Xh411S7G1?spm_id_from=333.788.videopod.episodes&vd_source=be26b82da70367069ab00d6db4f4ffc0
文檔:https://www.runoob.com/php/php-tutorial.html
目錄
- 1,PHP是什么
- 2,PHP能做什么
- 3,PHP程序執行流程
- 4,學習PHP需要什么基礎
- 5,PHP基礎語法
- 一,php程序
- 1,php標記
- 2,php代碼
- 3,php注釋
- 二,php變量
- 1,聲明變量
- 2,變量命名規則
- 三,php標量數據類型
- 字符串
- 四,php復合數據類型
- 五,php特殊數據類型
- 六,數組
- php數組循環
- 七,PHP條件判斷
- 八,PHP函數
- 1,什么是函數?
- 2,函數的分類
- 3,String字符串函數
- 4,Array數組函數
- 5,自定義函數
- 6,作用域
- 九,PHP運算符
- 十,循環
- 6,PDO操作數據庫
- 7,類與對象
- 類的三大特性
- 8,命名空間
- 創建命名空間
1,PHP是什么
PHP(Hypertext Preprocessor 超文本預處理器) 的簡稱,是一種被廣泛應用的開源通用的服務器端腳本語言,適用于 Web 開發并可嵌入 HTML 中。
- 通用:指跨平臺,如:Windows、Linux、MacOS
- 開源:意味著你可以輕松獲取全部源代碼,并進行定制或擴展
- 免費:意味著你不必為PHP花一分錢,哪怕用在商業項目中
- 服務器端:意味著你必須將它安裝在服務器環境下才可以使用
- 腳本語言:解釋型語言,按編寫順序執行。是指不需要編譯,直接由解釋器/虛擬機執行的編程語言
2,PHP能做什么
- 可以快速動態的生成HTML頁面
- 可以返回前端需要的各種類型的數據
- 可以高效安全的處理表單數據
- 可以安全的操作服務器上的文件
- 可以控制與客戶端的會話( Cookie/Session )
- 可以對用戶的行為進行授權控制
- 可以高效安全的操作各種類型的數據庫
- 通過擴展,可以實現加密,壓縮等其他功能
- 可以提供接口數據,包括:小程序、APP、等其他語言
3,PHP程序執行流程
4,學習PHP需要什么基礎
- HTML:超文本標記語言
- CSS:層疊樣式標本
- JavaScript:前端腳本編程語言
5,PHP基礎語法
php文件默認擴展名是 .php;
php文件中可以包含html,css,JavaScript代碼;
一,php程序
1,php標記
- 開始標記<?php和結束標記?>中間寫PHP代碼;
- 如果沒有寫結束標記,那么代表所有的代碼都用php來解析;
<?php?>
2,php代碼
指令 | 描述 |
---|---|
echo | 可以輸出一個或多個字符串,用逗號(,)隔開 |
只允許輸出一個字符串 |
<?phpecho 111,222;print 111;
?>
; // 語句結束符
3,php注釋
<?php// 這是單行注釋/*這是多行注釋注釋后,在瀏覽器和網頁源碼中,是看不到的。*/
?>
二,php變量
1,聲明變量
<?php$a = 'php中文網原創視頻:《天龍八部》公益php培訓系列課程匯總!';echo $a;
?>
2,變量命名規則
- 開頭不能用數字;
- 中間不能有空格;
<?php// 下劃線命名法$new_title = 'php中文網原創視頻:《天龍八部》公益php培訓系列課程匯總!';echo $new_title;echo '<hr>';// 小駝峰命名法$newTitle = 'php中文網《玉女心經》公益PHP WEB培訓系列課程匯總';echo $newTitle;echo '<hr>';// 大駝峰命名法$NewTitle = 'html5中submit是按鈕么';echo $NewTitle;
?>
三,php標量數據類型
echo 輸出數據值,開發時使用;
var_dump 可以打印數據類型和值,測試時使用;<?php$x = true;var_dump($x); // 類型 值 =》 bool(true)echo '<hr>';$y = false;var_dump($y); // 類型 值 =》 bool(false)
?>
字符串
- 引號內的數據;
- 可以是單引號或雙引號;
- 字符串不用引號會報錯;
- 數字,浮點數,布爾型,用引號也屬于字符串;
雙引號與單引號的區別?
- 雙引號可以解析變量,單引號不行;
<?php$name = "歐陽";echo "我的名字:$name"; // 我的名字:歐陽echo '我的名字:$name'; // 我的名字:$name
?>
四,php復合數據類型
五,php特殊數據類型
六,數組
數組Array:數組可以在一個變量中存儲多個值;
1,創建數組
<?php// 第一種方式$arr = array();var_dump( $arr ); //array(0) { }// 第二種方式$arrs = [];var_dump( $arrs ); //array(0) { }
?>2,創建索引數組
<?php$arr = array('歐陽','西門','滅絕'
);
var_dump( $arr ); // array(3) { [0]=> string(6) "歐陽" [1]=> string(6) "西門" [2]=> string(6) "滅絕" }
?>3,創建關聯數組
<?php$arr = ['ouyang' => '歐陽','ximen' => '西門','miejue' => '滅絕'
];
var_dump( $arr ); // array(3) { ["ouyang"]=> string(6) "歐陽" ["ximen"]=> string(6) "西門" ["miejue"]=> string(6) "滅絕" }
?><?php$arr = ['ouyang' => '歐陽','ximen' => '西門','miejue' => '滅絕'
];
var_dump( $arr['miejue'] ); // string(6) "滅絕"
?>
print_r()打印數組
print_r() VS var_dump()<?php$arr = ['ouyang' => '歐陽','ximen' => '西門','miejue' => '滅絕'
];
var_dump( $arr); // array(3) { ["ouyang"]=> string(6) "歐陽" ["ximen"]=> string(6) "西門" ["miejue"]=> string(6) "滅絕" }
echo "<hr>";
print_r($arr);// Array ( [ouyang] => 歐陽 [ximen] => 西門 [miejue] => 滅絕 )
?>
php 連接符 .
<?php$arr = ['ouyang' => '歐陽','ximen' => '西門','miejue' => '滅絕'
];
echo "我的名字是" . $arr['ouyang'] . ",他的名字是" . $arr['ximen']; // 我的名字是歐陽,他的名字是西門
?>
php數組循環
<?php$arr = array("ouyang" => "歐陽","ximen" => "西門","miejue" => "滅絕");// 第一種方法foreach($arr as $v) {echo $v;echo '<hr>';}// 第二種方法foreach($arr as $k => $v) {echo $k . '----' . $v;echo '<hr>';}
七,PHP條件判斷
// 三元運算符<?php$ouyang = '123';echo $ouyang ? '我知道了' : '我不知道'; // 我知道了// if …… else<?php$miejue = "西門";$ouyang = '';if($ouyang) {echo "我是歐陽";}elseif($miejue) {echo "我是西門";}// switch語句$str = '歐陽11';switch($str) {case '歐陽':echo "我是歐陽";break;case "西門":echo "我是西門";break;case "滅絕":echo "我是滅絕";break;default:echo $str;}// match 語句$str = 'ximeng';echo match($str) { // 西門"ouyang" => "歐陽克","ximeng" => "西門","miejue" => "滅絕",};- Match是一個表達式,表示其結果可以存儲在變量中或返回;- Match分支僅支持單行表達式,不需要中斷,陳述;- Match匹配進行嚴格的比較;
八,PHP函數
1,什么是函數?
- 函數是一段可以重復執行的代碼片斷;
- 函數是實現代碼復用的重要手段;
- 函數是現代編程語言最重要的基本單元;
- 函數永遠是編程的核心工作;
2,函數的分類
- 系統函數:編程語言開發者事先寫好提供給開發者直接使用的;
- 自定義函數:用戶根據自身需求,對系統功能進行擴展;
3,String字符串函數
4,Array數組函數
5,自定義函數
<?phpfunction fun_name($num1,$num2=20,$num3=30) {return $num1 + $num2 + $num3;};echo fun_name(10); // 60// 函數的基本語法:- 必須使用關鍵字 function聲明;- 函數名稱不區分大小寫,多個單詞推薦使用下劃線連接;
6,作用域
- php中,只有函數作用域和全局作用域;
- 所有函數作用域中的變量,外部不可見;
- 全局作用域聲明變量,在函數中是可見的;
九,PHP運算符
十,循環
<?php$int = 1;// while循環while($int < 10) {echo $int;$int++;}// do……while循環do {echo $int;$int++;}while($int < 10);// for 循環for($int=1; $int<10; $int++) {echo $int;}
continue
- 結束當前循環,進入下次循環
- 在循環語句中使用 while,for
break
- 結束循環
- 在循環語句中使用 while,for,switch
- 可以跳出多層循環
6,PDO操作數據庫
- PDO:php數據對象
- PDO統一了PHP訪問各種類型數據庫的訪問方式;
7,類與對象
<?php// 創建類class Teacher {// 成員變量:類屬性public $name = '滅絕師太';// 成員方法public function fun1() {return '姓名:' . $this->name . ' ,你好';}}// 調用類$ouyang = new Teacher(); echo $ouyang->name; // 滅絕師太echo '<hr>';echo $ouyang->fun1(); // 姓名:滅絕師太 ,你好
<?php// 創建類class Teacher {// 成員變量:類屬性public $name = '滅絕師太';public $school = "PHP中文網";// __construct 構造方法public function __construct($name,$school){$this->name = $name;$this->school = $school;}// 成員方法public function fun1() {return '姓名:' . $this->name . ' ,你好';}// __destruct 析構方法public function __destruct(){echo '<hr> 類執行完畢,要關閉了';}}// 調用類$ouyang = new Teacher("西門大官人",'php'); echo $ouyang->name; // 西門大官人echo '<hr>';echo $ouyang->fun1(); //姓名:西門大官人 ,你好
類的三大特性
- 繼承:可以讓某個類型的對象獲得另一個類型的對象的屬性和方法;
- 封裝:指將客觀事物抽象成類,每個類對自身的數據和方法實行保護;
- public 默認的,關鍵詞定義類內,類外,子類都可見;
- protected 關鍵詞定義類內,子類可見,類外不可見;
- private 關鍵詞定義類內可見,子類,類外不可見;
- 多態:指同一個實體同時具有多種形式,它主要體現在類的繼承體系中;
8,命名空間
解決全局成員的命名沖突問題;
創建命名空間
<?php// 第一種// namespace one {// function php() {};// }// namespace two {// function php() {};// }// 第二種namespace three;function php(){};namespace four;function php() {};
<?phpnamespace one;const name = "西門";function php(){echo "我是" . name;};// 調用 one命名空間的php方法php(); // 我是西門namespace tow;const name = "歐陽";function php() {echo "我是" . name;};php(); // 我是歐陽namespace one\two\three;const name = "滅絕";function php() {echo "我是" . name;}php(); // 我是滅絕