作者:華紅狼
本文:
《談談HTML文法》一文,我已經介紹了基本的HTML文法。可以編出一個靜態Web頁,可動態互動資訊是很重要的。如一些網站的會員制崐的會員註冊、登入都需後端程式的運行。很多網站所用的CGI程式主要用Perl、ASP、Java、PHP編寫,而我們所要用的就是PHP。它是完全免崐費的,這就要感謝那些默默無聞的編程人員了。PHP的結構類似於C語言,這可是應證了C語言裡提的“一處學習,到處編程”。相信學過C崐語言的人可很容易上手PHP的。還是先介紹一些PHP文法吧。本文適合初學者學習。
PHP與C語言也有一些差別,或者說在某種程度上可能比C語言更為靈活。在C語言中,變數要先定義,才能使用。而PHP中變數則不需崐事先定義,直接使用即可。對於變數的類型,在賦值時自動產生。PHP變數的類型分為:整數(int)、雙精確度型(double)、字串(string)、崐數組(array)、對象(object)。
整數大小超出其範圍後,自動轉化為雙精確度型,其值範圍如下表:
┌─────┬─────┬──────┬────────────┐
│ 宣告類型 │長度(位)│長度(位元組)│ 值的範圍 │
├─────┼─────┼──────┼────────────┤
│ int │ 32 │ 4 │-2147483647~2147483647 │
├─────┼─────┼──────┼────────────┤
│ double │ 32 │ 4 │ 1.7E-308~1.7E+308 │
└─────┴─────┴──────┴────────────┘
字串,通常用""(雙引號)表示。也可用''(單引號)表示,如下:
$a="abc";
$b="abc$a";
$c='abc$a';
$d="\"cde\"";
$e='"cde"';
PHP中的各種變數均在變數名前加上“$”以示區別。
注意,$b的內容為abcabc,$c的內容為abc$a,$d的內容為"cde",$e的內容也為"cde"。可以看出,雙引號中的內容中的變數名會被替代崐,而單引號中的則不會。雙引號中的內容需轉義,如$應用\$表示,而單引號中的則不用。
PHP中的數組文法為:
數組名[索引]
索引可為數字,也可為文字。但不建議使用文字,因為意義不大。對於數組也比其它語言靈活如下例:
<?php
$names[]=100;
$names[]=200;
$names[]="hi,how are you";
$names[]=98.5;
$names[]=1.7E+23;
$num=count($names);
for ($i=0;$i<=$num;$i++){
echo "$names[$i]<br>";
}
?>
可看出,一個數組中的元素不一定為同一類型,這就是PHP數組的“活”處。
使用對象,可使編程者更易於維護,也使程式更為易讀。較其它語言,PHP可簡單多了,它只有類別(class)、方法(method)、屬性(attr崐ibute)及擴充(extendsions)等。
前文談的只是PHP的資料類型,所謂“磨刀不誤砍柴功”,打好PHP基礎才能更好地學好PHP編程。
PHP中的運算式與運算子與C語言的差別不大,現將其列表於下:
┌─────┬─────────┬──────────┐
│ 符 號 │ 運算子 │ 範 例 │
├─────┼─────────┼──────────┤
│ + │ 加法 │ $a+$b │
├─────┼─────────┼──────────┤
│ - │ 減法 │ $a-$b │
├─────┼─────────┼──────────┤
│ * │ 乘法 │ $a*$b │
├─────┼─────────┼──────────┤
│ / │ 除法 │ $a/$b │
├─────┼─────────┼──────────┤
│ % │ 取餘數 │ $a%$b │
├─────┼─────────┼──────────┤
│ ++ │ 遞增 │ $a++或++$a │
├─────┼─────────┼──────────┤
│ -- │ 遞減 │ $a--或--$a │
├─────┼─────────┼──────────┤
│ == │ 等於 │ $a==10 │
├─────┼─────────┼──────────┤
│ === │ 絕等於 │ $a===10 │
├─────┼─────────┼──────────┤
│ != │ 不等於 │ $a!=10 │
├─────┼─────────┼──────────┤
│ < │ 小於 │ $a<9 │
├─────┼─────────┼──────────┤
│ > │ 大於 │ $a>8 │
├─────┼─────────┼──────────┤
│ <= │ 小於等於 │ $a<=10 │
├─────┼─────────┼──────────┤
│ >= │ 大於等於 │ $a>=1 │
├─────┼─────────┼──────────┤
│ = │ 相等賦值運算子 │ $a=0 │
├─────┼─────────┼──────────┤
│ += │ 加法指定運算子 │ $a+=5 │
├─────┼─────────┼──────────┤
│ -= │ 減法指定運算子 │ $a-=1 │
├─────┼─────────┼──────────┤
│ *= │ 乘法指定運算子 │ $a*=2 │
├─────┼─────────┼──────────┤
│ /= │ 除法指定運算子 │ $a/=5 │
├─────┼─────────┼──────────┤
│ %= │ 餘數指定運算子 │ $a%=7 │
├─────┼─────────┼──────────┤
│ .= │ 字串指定運算子│ $a.="hello" │
├─────┼─────────┼──────────┤
│ & │ 與 │ $a&$b │
├─────┼─────────┼──────────┤
│ | │ 或 │ $a|$b │
├─────┼─────────┼──────────┤
│ ^ │ Xor │ $a^$b │
├─────┼─────────┼──────────┤
│ ~ │ 非 │~$a(取1的補碼 )│
├─────┼─────────┼──────────┤
│ << │ 向左移位 │ $a<<$b │
├─────┼─────────┼──────────┤
│ >> │ 向右移位 │ $a>>$b │
├─────┼─────────┼──────────┤
│and或&& │ 與 │$a and $b或$a&&$b │
├─────┼─────────┼──────────┤
│or或|| │ 或 │$a or $b或$a||$b │
├─────┼─────────┼──────────┤
│xor │ Xor │ $a xor $b │
├─────┼─────────┼──────────┤
│ ! │ 非 │ !$a │
└─────┴─────────┴──────────┘
┌───┬────────────┐
│符號 │ 意義說明 │
├───┼────────────┤
│ $ │變數 │
├───┼────────────┤
│ & │變數的指標(加在變數前)│
├───┼────────────┤
│-> │對象的方法或屬性 │
├───┼────────────┤
│=> │數組的元素值 │
├───┼────────────┤
│? : │三元運算子 │
└───┴────────────┘
同C語言的比較一下吧。其中只是多了個“.”這一個運算子。它的作用是使兩個字串相連,如下例,顯示結果為hello,my baby.
<?php
$a="hello,";
$b="my baby.";
echo $a.$b;
?>
還有一個符號也使PHP的功能強大了。這就是“$”。它是用於變數之前的,表示這是個變數,如$A,$b等。那它的作用又強在哪呢?這崐就是變數的變數。
如下例:
<?php
$a="go";
$$a="here";
echo $a;
echo $$a;
echo $go;
?>
顯示結果為:
go
here
here
其實,在一個變數前加一個“$”,就是把這個變數的內容作為了一個新的變數名。這是PHP所特有的,有時可使程式簡單化。
--(待續)--