2.PHP入門
PHP站點的線上教程已經很棒了。在那裡還有一些其他教程的連結。而本文的該部分將讓你對PHP熟悉一點。我不可能做到沒有任何遺漏,我的目的只在於能讓你迅速開始你的PHP程式設計。
2.1 首要條件
你首先必須要有一個正在工作著的支援PHP的Web伺服器。我假定在你的伺服器上所有PHP檔案的副檔名為.php3。
2.2 PHP的安裝
生成一個名為test.php3的檔案,含有以下內容: 然後在你的瀏覽器中開啟此檔案。看看這個頁面你就知道你的PHP安裝使用的選項了。
2.3 語法
就像前面提到的一樣,你可以混合編寫你的PHP程式碼和HTML程式碼。因此你必須有辦法將兩者區別開來。以下就是你可以採用的幾種方法。你可以選用其中一種你最適應的並且就這樣堅持這種方法!
從HTML中分離
以下是可以使用的方法: <% . . . %>
語句
與Perl和C一樣,在PHP中用(;)來分隔語句。那些從HTML中分離出來的標誌也表示語句的結束。
註釋
PHP支援C,C++和Unix風格的註釋方式:
/* C,C++風格多行註釋 */ // C++風格單行註釋 # Unix風格單行註釋
Hello,World!
通過我們已經學過的知識,你可以編寫一個最簡單的程式輸出一個也許是程式世界中最有名的詞語:
First PHP page
2.4 資料型別
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"; # 產生 Hello World$full2 = '$first $second';# 產生 $first $second
可以將字元和數字利用運算子號連線起來。字元被轉化成數字,利用其最初位置。在PHP手冊中有詳細的例子。
陣列與雜湊表
陣列與雜湊表以同樣的方法被支援。怎樣運用取決於你怎樣定義它們。你可以用list()或者array()來定義它們,也可以直接為陣列賦值。陣列的索引從0開始。雖然我在這裡沒有說明,但是你一樣可以輕易的使用多維陣列。
// 一個包含兩個元素的陣列$a[0] = "first";$a[1] = "second";$a[] = "third"; // 新增陣列元素的簡單方法// 現在$a[2]被賦值為"third"echo count($a); // 打印出3,因為該是陣列有3個元素// 用一個語句定義一個數組並賦值$myphonebook = array ("sbabu" => "5348","keith" => "4829","carole" => "4533");// 噢,忘了教長吧,讓我們新增一個元素$myphonebook["dean"] = "5397";// 你定義的carale元素錯了,讓我們更正它$myphonebook["carole"] => "4522"// 我還沒有告訴你怎樣使用陣列的相似支援方式嗎?讓我們看一看echo "$myphonebook[0]"; // sbabuecho "$myphonebook[1]"; // 5348
其他一些對陣列或雜湊表有用的函式包括sort(),next(),prev()和each()。
物件
使用new語句產生一個物件:class foo{function do_foo (){echo "Doing foo.";}}$bar = new foo;$bar->do_foo();
改變變數型別
在PHP手冊中提到:"PHP不支援(也不需要)直接在宣告變數時定義變數型別;變數型別將根據其被應用的情況決定。如果你為變數var賦值為一個字串,那麼它變成了一個字串。如果你又為它賦了整數值,那麼它就變成了整數。"$foo = "0"; // $foo是字串(ASCII 48)$foo++; // $foo是字串"1" (ASCII 49)$foo += 1; // $foo現在是整數(2)$foo = $foo + 1.3; // $foo是一個雙精度數(3.3)$foo = 5 + "10 Little Piggies"; // $foo是一個整數(15)$foo = 5 + "10 Small Pigs"; // $foo是一個整數(15)
如果想要強行轉換變數型別,可以使用與C語言相同的函式settype()。