php快速入門 — 基本語法
1.php 的介紹?
php(超文本處理器) :是在服務(wù)器端執(zhí)行的腳本語言,尤其適用于Web開發(fā)并可嵌入HTML中
php的版本
php1
php2
php3
php4
php5(比較多)
php7
php8
php創(chuàng)始人:雷斯莫斯·勒道夫
2. 靜態(tài)網(wǎng)頁和動態(tài)網(wǎng)頁
靜態(tài)網(wǎng)頁: 是指沒有后臺數(shù)據(jù)庫,不含程序和不可交互的網(wǎng)頁
動態(tài)網(wǎng)頁: 相對于靜態(tài)網(wǎng)頁來說,含有后臺數(shù)據(jù)庫或程序等
3. 第一個php
? ?運(yùn)行環(huán)境:
? ? ? 需要啟動 apache 服務(wù)
? ? ??
? ? ? 一般使用集成軟件包
? ? ? phpstudy (使用)
? ? ? xampp?
? ? ? Appserv
? ? ? WampServer
? ?開發(fā)工具(IDE:集成開發(fā)環(huán)境)
? ? ? phpstorm
? ? ? netBeans
? ? ? subline
? ? ? nodepad++
? ? ? vscode
php的運(yùn)行
? ?1. 創(chuàng)建php文件
? ?2. 將php文件或項(xiàng)目包,放到根目錄下(安裝目錄的WWW文件夾下)
? ?3. 確定端口號,默認(rèn)是80,如果有沖突可以更改端口號
? ?4. 通過url 訪問, localhost:端口號/文件名
4. php語法
? ? 4.1.如何在html嵌入php代碼
? ? <?php
? ? ? ? echo 'hello php';
? ? ?>
? ? <?
? ? ? ? echo 'hello php';
? ? ?>
? ? <script language='php'>
? ? ? ?echo 'hello php'
? ? </script>
? ?4.2. 輸出
? ?1 echo();2 print();3 die();4 printf();5 sprintf();6 print_r();7 var_dump();? ?// 主要看前4種
? ?echo 可以同時輸出多個字符串,可以多個參數(shù),并不需要圓括號,無返回值。
? ?echo 'hello world';
? ?echo 'my age is $num';? ?//不能解析變量
? ?echo "my age is $num"; //可以識別變量
? ?print?
? 只可以同時輸出一個字符串,一個參數(shù), 需要圓括號,有返回值,當(dāng)其執(zhí)行失敗時返flase
? 與 echo 類似
? ?die();
? ?有兩個功能:先輸出內(nèi)容,然后退出程序。(常用在鏈接服務(wù)器,數(shù)據(jù)庫)
? ?mysql_connect("locahost","root","root") or die("鏈接服務(wù)器失敗!");
?printf();
? ?printf(“參數(shù)1”,參數(shù)2):參數(shù)1=按什么格式輸出;參數(shù)2=輸出的變量。(參數(shù)1的具體類型見下一頁)
var_dump() : 可以查看數(shù)據(jù)類型與對應(yīng)的值
? ?常用類型指示符
? ? ?%d: 十進(jìn)制
? ? ?%s: 字符串
? ? ?...
? ?4.3. 變量
? ? ? ?$num = 7;
? ? ? ?$num = 66.6;
? ? ? ?$num = "abc";
? ? ? ?$num = true;
? ? ? ?變量命名規(guī)則 :
? ? ? ? ? ?不能是關(guān)鍵字
? ? ? ? ? ?不能以數(shù)字開頭
? ? ? ? ? ?區(qū)分大小寫
? ? ? ? ? ?可以是字母,數(shù)字,下劃線
? ? ? ? ? ?變量名和函數(shù)名可以相同(最好還是寫不一樣的名稱)
? ? ? ?數(shù)據(jù)類型
? ? ? ? ? int(整數(shù)), float(浮點(diǎn)數(shù)), double(雙浮點(diǎn)), bool(布爾) string(字符串),array(數(shù)組),object(對象)? ??
? ? ? ? 注: php中變量的聲明不能指定數(shù)據(jù)類型,程序會根據(jù)變量的值來確定類型??
? ? ??
拷貝賦值: 將變量的值復(fù)制一份,再賦值給另一個變量
? ?$a = 100;
? ?$b = $a;
? ?$a = 200;
? ?
? ?echo '$a='.$a.',$b='.$b;
引用賦值: 將變量的內(nèi)存地址,復(fù)制一份,賦值給另一個變量
? ?$a = 100;
? ?$b = &$a;
? ?$a = 200;
? ?
? ?echo '$a='.$a.',$b='.$b;
?類型的轉(zhuǎn)換
?隱式轉(zhuǎn)換:?
???? ? $sum = 0;
???? ? $total = 1.22;
???? ? $sum = $total;? // 隱式轉(zhuǎn)換
強(qiáng)制轉(zhuǎn)換:
???? $sum = 0 ;
???? $total = (float)$sum;? // 顯示轉(zhuǎn)換
???? echo? gettype($total);? ?
settype 函數(shù)轉(zhuǎn)換
???? $sum = 100;
???? settype($sum,”string”);? //顯示轉(zhuǎn)換
???? echo? gettype($total);??
? ? ?注:還可以使用轉(zhuǎn)換類型的函數(shù),
? ? 如:intval()、floatval()、strval(); 詳見手冊
4.4 php 提供了一些全局變量(預(yù)定義變量),可以直接使用
內(nèi)置超級全局變量可以在腳本的任何地方可見:
$_GET[] 獲得以GET方法提交的變量數(shù)組
$_POST[] 獲得以POST方法提交的變量數(shù)組
$_SERVER[] 當(dāng)前php服務(wù)器變量數(shù)組
$GLOBALS[] 包含正在執(zhí)行腳本所有超級全局變量的引用內(nèi)容
$_SESSION[] 取得當(dāng)前用戶訪問的唯一標(biāo)識,以數(shù)組形式體現(xiàn),如sessionid以及自定義session數(shù)據(jù)
?
?4.5 常量
常量: 不能改變的量,php中常數(shù)一量被定義,就不能修改或者取消定義
? ? ? ?定義常量的方法
? ? ? ? ? 1. define(常量名, 值);
? ? ? ? ? 2. const 常量名 =? 值;
? ? ? ? 判斷常量是否存在
? ? ? ? ? defined(常量名);??
?4.6??運(yùn)算符
? ? ? ? ? 算術(shù)運(yùn)算符
? ? ? ? ? ? ? +,- ,*,/,%?
? ? ? ? ? ? ? 注: php 中的+號,只有算數(shù)運(yùn)算的含義?
? ? ? ? ? ?字符串運(yùn)算符? .?
? ? ? ? ? ? ? 注: 用"." 表示字符 串的連接
? ? ? ? ? ?賦值: =
? ? ? ? ? ? ? =
? ? ? ? ? ? ? +=
? ? ? ? ? ? ? -=
? ? ? ? ? ? ? *=
? ? ? ? ? ? ? /=
? ? ? ? ? ? ? .=? ? ?//$a .= 'haha';
? ? ? ? ? ? 遞增,遞減
? ? ? ? ? ? ?++ : ++在前與++后
? ? ? ? ? ? ? ? ? ? ++在前,返回+1后的值
? ? ? ? ? ? ? ? ? ? ++在后,返回+1之前的值
? ? ? ? ? ? ?-- :同上
? ? ? ? ? 邏輯運(yùn)算符
? ? ? ? ? ? II (or) , && (and), !? ?
? ? ? ? ? ?關(guān)系運(yùn)算符
? ? ? ? ? ? >,< ,>=,<=, == , ===, != , !==?
? ? ? ? ? ?三元表達(dá)式
? ? ? ? ? ?(條件表達(dá)式)?為真的處理:為假處理;
?5. 選擇(與js if結(jié)構(gòu)的語法一樣)
? ? ? ? switch結(jié)構(gòu)
? ? ? ? ? case 進(jìn)行全等判斷,有相同的值后,就不在判斷
? ? ? ? ? break 遇到break跳出結(jié)構(gòu)
? ? ? ? ? default 沒有case的值匹配時,就執(zhí)行default
6. 循環(huán)(和js的結(jié)構(gòu)一樣)
? ? ? for()
? ? ? while()
? ? ? do-while()
? ?6. 數(shù)組
? ? ? 數(shù)組:一組數(shù)據(jù)的集合,形成一個整體
? ? ? 數(shù)組類型:
? ? ? ? ?索引類型(索引可以自己指定,不指定默認(rèn)從0開始)
? ? ? ? ? $arr = array(0=>'國信安',1=>'php',2=>學(xué)習(xí));
? ? ? ?關(guān)聯(lián)數(shù)組
? ? ? ? ? $arr = array(key=>value,key2=>value2,key3=>value3);
? ? ? ? ? $arr[key];? //通過它取值,或者賦值都可以
? ? ? ? 數(shù)組的長度
? ? ? ? ? count() 函數(shù): 統(tǒng)計數(shù)組 中所有元素的數(shù)量
? ? ? ? ? sizeof()? 函數(shù) : 是count()函數(shù)的別名
? ? ? ? ?foreach遍歷數(shù)組
? ? ? ? ?有兩種形式
? ? ? ? ? foreach(arr變量 as $value){
? ? ? ? ? }?
? ? ? ? ? foreach(arr變量 as $key => $value){
? ? ? ? ??
? ? ? ? ? }?
? ? ? ? ??
? ?7. 函數(shù)?
? ? 函數(shù): 具有一定功能的代碼塊
? ? 函數(shù)的組成:
? ? ? function 函數(shù)名(參數(shù)1...){
? ? ? ? ? 函數(shù)體;
? ? ? ? ? return 返回值;
? ? ? }
? ? 函數(shù)名(實(shí)參);
更多文章,請看公主號: bug收集? ?個人網(wǎng)站:bugshouji.com