PHP基本語法

PHP 是一種嵌入在 HTML 並由伺服器解釋的腳本語言。它可以用於管理動態內容、支持資料庫、處理會話跟蹤,甚至構建整個電子商務站點。它支持許多流行的資料庫,包括 MySQL、PostgreSQL、Oracle、Sybase、Informix 和 Microsoft SQL Server。

基本信息

數據類型

PHP支持整數、浮點數、字元串、數組和對象。變數類型通常不由程式設計師決定而由PHP運行過程決定(真是好的解脫!)。當然,如果你喜歡的話,你也可以使用cast或者函式settype()將某種類型的變數轉換成指定的類型。

數值

數值類型可以是整數或是浮點數。你可以用以下的語句來為一個數值賦值:
$a=1234;#十進制數
$a=-123;#負數
$a=0123;#八進制數(等於十進制數的83)
$a=0x12;#十六進制數(等於十進制數的18)
$a=1.234;#浮點數"雙精度數"
$a=1.2e3;#雙精度數的指數形式

字元串

字元串可以由單引號或雙引號引出的欄位定義。注意不同的是被單引號引出的字元串是以字面定義的,而雙引號引出的字元串可以被擴展。而且,在雙引號字元串中可以使用反斜槓()在字元串中加入轉義序列和轉換字元。舉例如下:
$first='Hello';
$second="World";
$full1="$first$second";#產生HelloWorld
$full2='$first$second';#產生$first$second
$full3="01DCstudio,."2000copyright."";
請注意最後一行,如果需要在字元串中使用雙引號,可以使用反斜槓字元,象該行語句所示。這裡的的反斜槓用來使雙引號的功能改變。
可以將字元和數字利用運算符號連線起來。字元被轉化成數字,利用其最初位置。在PHP手冊中有詳細的例子。

數組與哈希表

數組與哈希表以同樣的方法被支持。怎樣運用取決於你怎樣定義它們。你可以用list()或者array()來定義它們,也可以直接為數組賦值。數組的索引從0開始。雖然我在這裡沒有說明,但是你一樣可以輕易的使用多維數組。
//一個包含兩個元素的數組
$a[0]="first";
$a[1]="second";
$a[]="third";//添加數組元素的簡單方法
//現在$a[2]被賦值為"third"
echocount($a);//列印出3,因為該數組有3個元素
//用一個語句定義一個數組並賦值
$myphonebook=array(
"sbabu"=>"5348",
"keith"=>"4829",
"carole"=>"4533"
);//噢,忘了教長吧,讓我們添加一個元素
$myphonebook["dean"]="5397";
//你定義的carale元素錯了,讓我們更正它
$myphonebook["carole"]=>"4522"
//我還沒有告訴你怎樣使用數組的相似支持方式嗎?讓我們看一看
echo"$myphonebook[0]";//sbabu
echo"$myphonebook[1]";//5348
其他一些對數組或哈希表有用的函式包括sort(),next(),prev()和each()。
對象
使用new語句產生一個對象:
classfoo
{
functiondo_foo()
{
echo"Doingfoo.";
}
}
$bar=newfoo;
$bar->do_foo();

改變變數類型

在PHP手冊中提到:"PHP不支持(也不需要)直接在聲明變數時定義變數類型;變數類型將根據其被套用的情況決定。如果你為變數var賦值為一個字元串,那么它變成了一個字元串。如果你又為它賦了整數值,那么它就變成了整數。"
$foo="0";//$foo是字元串(ASCII48)
$foo;//$foo是字元串"1"(ASCII49)
$foo=1;//$foo現在是整數(2)
$foo=$foo1.3;//$foo是一個雙精度數(3.3)
$foo=5"10LittlePiggies";//$foo是一個整數(15)
$foo=5"10SmallPigs";//$foo是一個整數(15)
如果想要強行轉換變數類型,可以使用與C語言相同的函式settype()。

變數與常量

可能你已經注意到,變數都有一個美元符號($)的前綴。所有變數都是局部變數,為了使得定義的函式中可以使用外部變數,使用global語句。而你要將該變數的作用範圍限制在該函式之內,使用static語句。
$g_var=1;//全局範圍
functiontest()
{
global$g_var;//這樣就可以聲明全局變數了
}
更先進一些的是變數的變數表示。請參考PHP手冊。這在有時會顯得很有用。
PHP內置了許多已定義的變數。你也可以用define函式定義你自己的常量,比如define("CONSTANT","value")。

運算符

PHP具有C,C和Java中的通常見到的運算符。這些運算符的優先權也是一致的。賦值同樣使用"="。
算術和字元
以下只有一種運算符是有關字元的:
$a$b:加
$a-$b:減
$a*$b:乘
$a/$b:除
$a%$b:取模(餘數)
$a.$b:字元串連線
邏輯和比較
邏輯運算符有:
$a||$b:或
$aor$b:或
$a&&$b:與
$aand$b:與
$axor$b:異或(當$a或$b為true時為true,兩者一樣時為false)
!$a:非
比較運算符有:
$a==$b:相等
$a!=$b:不等
$a<$b:小於
$a<=$b:小於等於
$a>$b:大於
$a>=$b:大於等於
與C一樣PHP也有三重運算符(?:)。位操作符在PHP同樣存在。
優先權
就和C以及Java一樣!

控制流程結構

PHP有著與C一樣的流程控制。我將在下面大概介紹。
if,else,elseif,if():endif
if(表達式一)
{
...
}elseif(表達式二)
{
...
}
else
{
...
}
//或者像Python一樣
if(表達式一):
...
...
elseif(表達式二):
...
else:
...
endif;
Loops.while,do..while,for
while(表達式)
{
...
}
do
{
...
}
while(表達式);
for(表達式一;表達式二;表達式三)
{
...
}
//或者像Python一樣
while(expr):
...
endwhile;
switch
switch是對多重if-elseif-else結構的最好的替換:
switch($i)
{
case0:
print"iequals0";
case1:
print"iequals1";
case2:
print"iequals2";
}
break,continue
break中斷當前的循環控制結構。
continue被用來跳出剩下的當前循環並繼續執行下一次循環。
require,include
就像C中的#include預處理一樣。你在require中指定的那個檔案將替代其在主檔案中的位置。在有條件的引用檔案時,可以使用include()。這樣就使得你可以將複雜的PHP檔案分割成多個檔案並且在不同需要時分別引用它們。

函式

你可以像以下的例子一樣定義自己的函式。函式的返回值可以是任何數據類型:
functionfoo(變數名一,變數名二,...,變數名n)
{
echo"Examplefunction.n";
return$retval;
}
所有PHP代碼都可以出現在函式定義中,甚至包括對其他函式和類的定義。函式必須在引用之前定義。

利用類模型建立類。可以參考PHP手冊中對類的詳細解釋。
classEmployee
{
var$empno;//員工人數
var$empnm;//員工姓名
functionadd_employee($in_num,$in_name)
{
$this->empno=$in_num;
$this->empnm=$in_name;
}
functionshow()
{
echo"$this->empno,$this->empnm";
return;
}
functionchangenm($in_name)
{
$this->empnm=$in_name;
}
}
$sbabu=newEmployee;
$sbabu->add_employee(10,"sbabu");
$sbabu->changenm("babu");
$sbabu->show();

相關詞條

相關搜尋

熱門詞條

聯絡我們