簡介:PHP是一種通用開源腳本語言,運行在服務器端
執行原理:
客戶端向服務器發送一個請求,如果請求的是HTML,則服務器將HTML頁面發給客戶端瀏覽器解析,如果請求的是PHP,則服務器將運行PHP頁面然后生成標準的HTML,再發給客戶端
四種定界符:非標準風格需在配置文件php.int中設置啟用
標準風格 短標記風格 asp風格 Script風格
<?php <? <% <script language="php"
…… …… …… ……
?> ?> %> </script>
變量:以$開頭,字母、下劃線開頭
傳值:$b=$a;
傳址:$b=&$a;
銷毀變量:unset($a)->銷毀的是變量名,地址指向的值仍存在,由GC銷毀
可變變量:
$a='abc';
$b='a';
echo $$b;
結果:abc
解釋:$$b相當于$b做為變量名,而$b又是'a',所以$$b等價于$a
常量:
- 函數define(name,value,case_insensitive) 第三個參數為是否區分大小寫
- 函數defined(name) ->檢查該名稱常量是否已定義
數據類型
四種標量類型:
integer;float;boolean;string(有單引號和雙引號)
- 'string'是真正的字符串
- "string"會解析其中的$變量
兩種復合類型:
- 數組:
索引數組,以數字做下標:默認從0開始,可更改起始下標
$tmp=array('tom','john','kevin')
echo $tmp[0];//tom
關聯數組,以鍵值對形式:
$tmp=array('name'=>'tom','sex'=>'male','age'=>22);
echo $tmp['name'];//tom
echo $tmp['sex'];//male
echo $tmp['age'];//22
輸出數組:print_r($tmp)
- 對象: object(待補充)
特殊類型:
- resource(資源):PHP的外部數據
- NULL(無類型)
輸出語句:
- echo:只能輸出數字、字符串、對于布爾型,TRUE輸出1,FALSE輸出0,支持多個參數,無返回值
- print_r():輸出數組,包括鍵和值,不包括數據類型;
- var_dump()d:對于普通變量輸出值和類型,對于數組輸出鍵值和數據類型;
- print:與echo唯一區別:僅支持一個參數,有返回值
注釋:
- 單行注釋://或#
- 多行注釋:/.../
運算符:
算數運算符:+、-、*、/、% 注意:+只能做數字運算,不能做字符串相加
比較運算符:>、>=、<、<=、==(值相等)、!=、===(全等于:值和數據理性都相等)、!==(不全等于)
邏輯運算符:&&、||、!
字符串連接符:. 不能用+
賦值運算符:=、+=、-=、*=、/=、%=、.=(字符串連接)
三元運算符:表達式?值1:值2,表達式為真返回值1,表達式為假返回值2
小例子:判斷奇偶數
在HTML中構建表單<form name="form1" method="post" action="">
其中method="post"代表提交方法為POST action代表提交的目的地,=""代表提交到本頁面
表單中添加一個文本框<input type="text" name="num" id="num">
和一個提交按鈕<input type="submit" name="buttom" id="buttom" value="提交">
通過在頁面上輸入數字點擊提交按鈕將該數字通過POST方法傳給本頁的PHP代碼
<?php
if(isset($_POST['num'])) //$_POST獲得POST提交的數據 isset()函數判斷該變量是否設置
{ //因為第一次打開頁面時還未POST數據,若不判斷會報錯
$num=$_POST['num']
if($num%2==0)
{
echo "{$num}是偶數";
}
else
{
echo "{$num}是奇數";
}
}
?>
進一步優化,is_numeric()函數:判斷變量是否為數字或數字字符串,is_int():判斷變量是否為整數
數字字符串轉為整形:$a='1010'; $a=$a+0;
條件語句:與C類似->if、else、switch
循環語句:
for語句:for($i=1;$i<10;$i++)
while語句:while($i<10)
do-while語句:do{...}while($i>10);
foreach語句: 遍歷數組
語法1:無鍵 foreach (數組名 as $value)//將數組$stu中的值依次賦給$value
語法2:有鍵 foreach (數組名 as $key => $value)將數組$stu中的鍵和值依次賦給$key和$value
跳轉語句:與C類似
break:結束整個循環
continous:結束本次循環
函數:
Function (函數名)
{
//函數體
(return)
}
二維數組;