首先先下載一個WAMP集成環境還有編輯器(你有就不用啦),環境必須顯示綠色,紅色和黃色都沒安裝成功 本身百度一下
我要是寫了(瞭解)的話就是不太經常使用的php
什麼是PHP?
a.超文本(html)預處理器(動態生成html)
B.服務器端腳本編程語言
C.解釋型語言
D.能夠嵌入到html中的一種腳本語言(能夠與html進行混編)
注意安裝的php是解析php代碼的引擎html
php標記
寫php開頭標識必需要有的
第一種:<?Php 純php文件 推薦(經常使用)
第二種:<?Php.....?> 混編文件(指的是假如後面有html代碼就用這個)
第三種:<%....%> asp風格標記
asp_tags = On 在php配置文件開啓
第四種:<?....?> 短風格標記
Short_open_tag = On 在php配置文件開啓
第五種:<script language=」php」></script>
前2個是最經常使用的數據庫
PHP指令分割符(分號);
1.每條語句結束必須使用分號結束;
2.最後一條語句若是是<?php...?>能夠加分號也能夠不加.(要求都加)
3.echo 語言結構 做用:將內容給瀏覽器
echo是輸出結果在瀏覽器顯示
echo "MDZZ"; //正確的
echo "MDZZ" //錯誤的沒有加分割符
分隔符的做用是這段代碼不受下一行代碼的影響
好比:
echo "11111"; echo '2222'; (正確的)
echo "11111" echo '2222'; (錯誤的) 編程
常常用到的兩種打印方式
單純的打印值(不能打印類型) echo
打印值和類型好比數組對象 var_dump()數組
PHP註釋
單行註釋 // #
多行註釋 /*....*/
註釋做用:
解釋說明 便於之後調試代碼
有利於團隊合做開發 有利於後期維護和擴展
多行註釋不能嵌套多行 多行註釋能夠嵌套單行瀏覽器
PHP變量
臨時存儲值的空間
變量是否區分大小寫?
變量嚴格區分大小寫 $a $A安全
1.如何定義一個變量?
a.變量命名的規則
1.必須以$符開頭
2.由數字[0-9] 字母[a-z A-Z] 下劃線(_)組成
3.命名不能以數字開頭
4.命名必定要有意義服務器
什麼是表達式?
任何有值的變量 $a = 1;
php是弱類型語言(變量的類型是由存儲的值決定的)編程語言
php變量的類型
八種變量類型
1.四種標量
整型(int) 浮點型(float) 布爾型(boolean) 字符串型(string)
2.兩種複合類型
數組(array) 對象(object)
3.兩種特殊類型
資源(resource) 空null()編輯器
A.整型int:
(1)會聲明十進制數、八進制數、十六 進制數
(2)聲明八進制(0-7) 以0開頭 後面跟0-7
(3)聲明十六進制 以0x開頭 後面跟(0-9a-f)範圍
(4)整型的存儲範圍:佔4字節 1字節=8位 32位(二進制
(5)若是超出的存儲範圍 會自動轉成浮點型
(6)瀏覽器中看到的都是十進制數
(7)擴展(二進制轉成十進制)
(8)第一位 是符號位 +0(正) -1(負) 31位
(9)二進制 與 十進制之間的轉換
(10)二的次冪 1的位置的數相加便可
B. 浮點型float:
(1)小數 科學技術法
(2)永遠不要用浮點數來作比較
(3)$c = 1e5; //1 * 10的5次方
C.布爾型boolean
(1)兩個值: true真 false假
(2)用於判斷
(3)先進行表達式判斷
若是爲真則執行真區間
不然執行假區間
(4)流程控制中的條件
if(表達式){表達式 結果 布爾值
真區間}else{假區間}
3.總結假狀況 其他全爲真
(1)整型int 0
(2)浮點型float 0.0
(3)布爾型boolean false
(4)字符型string '' '0'
(5)數組 空數組 array()
(6)Null(空) null a.未定義的變量 b.直接賦值爲Null c.使用unset(變量名稱)釋放的變量
(7)對象object a.對象都爲真 b.php4空對象爲假
(8)資源 resource 都爲真
1.布爾值 true false 在參與運算返回的結果只有真和假.
2.字符串 看第一個字符 若是是字母直接返回0
若是是數字會繼續找 直到碰到非數字中止 返回非數字前面的部分
若是是字母e會再找一位若是是數字 則進行科學技術法 若是不是則返回e前面的部分
3.null -- 0
4.echo true 1 echo false echo null
D.字符串型 string
單引號 ‘’ 雙引號 「」
1.對變量的解析
a.在括號裏面:單引號不解析變量 雙引號解析變量
$c = ('$a+$b');
echo $a
2.對轉義字符的支持
a.單引號只支持 \’ \\
b.雙引號支持全部轉義字符(見手冊)
c.單引號中使用單引號 雙引號中使用雙引號須要轉義
d.單雙引號能夠互相嵌套使用
3.效率(功能越強 效率越低)
a.單引號效率高於雙引號
F.定界符方式(建議大篇幅的文章): (瞭解)
1.不一樣:既可使用單引號也可使用雙引號
2.不加單引號同雙引號的特色
3.加單引號同單引號特色
4.以<<<開頭 後面跟標識符名稱 通常建議大寫 獨佔一行
內容
結束時與開始標識符名稱相同加分號 後面什麼都不容許(空白)獨佔一行
格式:
$str = <<<EOF
正文內容
EOF;
特色同單引號
$str = <<<’EOF’
正文內容
EOF;
可變變量
以一個變量的值 做爲另外一個變量的名稱(變量的值符合變量命名規則)
$$$a 從右往左讀 一個$一個$符去讀
引用賦值
使用&符號進行引用
特色:
一旦使用&兩個變量互爲別名(就是一我的兩個名字)
改變其中任何一個另外一個也會隨着改變
若是unset()銷燬其中任何一個 另外一個不變
類型轉換(瞭解)
A.自動類型轉換(隱式類型轉換)
強制類型轉換(在須要的時候才使用)
.(int), (integer) - 轉換爲整形 integer
.(bool), (boolean) - 轉換爲布爾類型 boolean
.(float), (double), (real) - 轉換爲浮點型 float
.(string) - 轉換爲字符串 string
.(array) - 轉換爲數組 array
.(object) - 轉換爲對象 object
.(unset) - 轉換爲 NULL (PHP 5)
PHP常量定義
A.如何定義常量?
使用:define(常量名稱,常量的值,是否區分大小寫 默認是
false區分);
格式:
define(‘常量名稱’,’常量值’,false(默認);
echo 常量名稱;
php5.以上可使用const關鍵字來定義常量其它特色相同
格式: const 常量名稱 = 常量值;
echo 常量名稱;
B.如何輸出常量:echo 常量名稱
1.常量名稱:建議大寫 必須不能以$符開頭 由數字、字母、下劃線組成 數字不能開頭
2.常量值:標量(int+float+string+boolean)
3.若是設置爲true 不區分大小寫
C.常量特色
不常常變化的量,存儲爲常量 如:主機名稱 端口
一旦定義 不能從新定義 或 銷燬
定義後能夠在任何位置使用(函數才能測試)
D.系統也提供一些常量(知道就好)
PHP_VERSION php版本
PHP_OS php當前所在系統
echo PHP_VERSION;
E.獲取全部已定義的常量
格式:echo '<pre>';
print_r(get_defined_constants());
echo '</pre>';
F.魔術常量(瞭解)
__LINE__ 獲取當前的行號
__FILE__ 獲取當前文件所在的位置(路徑)完整路徑
__DIR__ 獲取當前文件全部的目錄 沒有文件名
運算符
A.算術運算符
+ - * / %(取模/求餘) ++ –-
++ 遞增 加1 (前加 後加)
-- 遞減 減1
B.字符串運算符
(.)
鏈接字符串與字符串 變量與變量 變量與字符串
$username = 'jiwei';
echo '正文內容'.變量名稱.;
C.賦值運算符
= += -= *= /= %= .=
//累加求和 +=
格式:$shop1 = 10;
$sum = 0;
$sum += $shop1; //$sum = $sum + $shop1
echo $sum;
//字符串拼接 .=
格式:$str = '';
$str .= 'a'; //$str = $str . 'a';
$str .= 'b';
$str .= 'c';
echo $str;
D.比較運算符
返回真假 符合符號就爲真 不符合符號就是假
比較結果 布爾值 true false
賦值符號 從右到左
> < >= <= <>!=(不等於) !==(全不等於)
==(等於) ===(全等於)
格式:$a = 1;
$b = '1';
var_dump($a !== $b);//false
!=(建議使用)值不相等(等於爲假 其他爲真)
!== 值和類型都不相同(全等於爲假 其他爲真)
==值是否相等(等於爲真 其他爲假)
===值和類型都相同(全等於爲真 其他爲假)
E.邏輯運算符 返回真假值
返回布爾值 true false
邏輯與:and && 邏輯或 or || 邏輯非 ! 異或:xor 其中邏輯與和邏輯或都具備短路效果。(短路與和短路或)
1.邏輯與(而且2個真) &&(推薦使用) 和 and
結論:2個真才真 一個假就假
(用於條件篩選)
短路狀況:當第一個表達式爲假 則不執行第二個表達式
&& 與 and區別:&& 優先級 大於 and
()加小括號能夠解決優先級問題
格式:var_dump(true && true); //true
var_dump(false && true); //false
2.邏輯或(或者一個真) || 和 or
2個假才假 一真就真
短路狀況:當第一個表達式爲true 則不執行第二個表達式
||與and區別:|| 優先級 大於 or
()加小括號能夠解決優先級問題
格式:var_dump(true || false); //true
var_dump(false || false); //false
3.邏輯非 ! (取反符號)
先去判斷表達式自己 再進行取反
true---false false---true
格式:$a = 1;
var_dump(!$a);
$a = false;
var_dump(!$a);
4.邏輯異或 xor
不一樣爲真 相同爲假
格式: var_dump(true xor false); //true
var_dump(true xor true); //false
var_dump(false xor false); //false
其它運算符
F.三元(目)運算符
先執行表達式1 進行判斷 若是爲真 則返回表達式2的值 不然返回表達式3的值
表達式1 ? 表達式2 : 表達式3
格式:$sex = 1;
var_dump(($sex == 0) ? '女' : '男'); //男
G.錯誤抑制符@
若是本行有錯誤 則不報錯 只在特殊狀況下用
格式: a();
@a();
H.命令執行符``
能夠輸出系統命令
格式: var_dump(`ipconfig`);
I.位(二進制)運算符
位(二進制) 與 & 位與 計算出一個結果 沒有短路
位與& 位或| 位異或^ 位取反~ 左移 << 右移 >>
html表單中GET與POST提交方法有何區別?
1.get傳值能夠在URL地址中看到提交的數據的具體信息(不安全),post看不到(安全)
2.get傳送的數據量較小,不能大於2KB;post傳送的數據量較大,通常均可以知足咱們的需求
數組
很好理解就像是有一大衣櫃有不少格子,格子號碼對應箱子裏面的東西(號碼理解爲下標,箱子裏面的東西理解爲值)
array(1->電腦,2->手機,3->小黃碟);
數組是複合數據,能夠裝下多個值,每一個值用不一樣的鍵來區分.
數組分類 索引數組和關聯數組
按下標來分
下標都爲整型稱爲 索引數組 鍵沒必要有特殊意義,純數字
下標都爲字符串型 稱爲 關聯數組 字符串作鍵,通常能體現該單元的內容,如age->年齡
按維度來分 (數組元素的值)
一維數組:數組的值再也不是數組
$arr = array('id'=>5);
二維數組:數組的值是一維數組
$arr = array(
1=>array(
'id' => 5
);
多維數組:數組的值超過一維 >1 (>=2)(瞭解)
"user"=>array(
array(1,"zhangsan",20,"nan")
),"score"=>array(
array(1,100,98,95,96),
);
數組應用的地方:
收集表單數據 數據庫中的數據 批量處理數據
輸出數組元素的值 找下標 echo 數組名稱[下標]; $aa =array('id'=>5,'age'=>'年齡'); echo $aa['id'];