標籤:io ar java for 資料 sp on cti ef
我的主攻是C, C++,之前也學過 Python, Lua 指令碼語言,沒有接觸過PHP。這幾天在學習PHP,做個筆記。
感覺PHP在文法上與PHP特別相似。只要會C++,PHP基本上不用記什麼。
文法上有這些特點:
1. 資料類型
null, bool, string, float, integer, array, object
object 是 new 出來的對象
轉換類型與 C 一樣。
2. PHP裡所有的變數名都是以 $ 開頭
在Shell裡,只有擷取變數的時候才需要加$符號,在PHP裡,所擷取還是設定都要加 $ 符號
$str = "hello";echo $str;
3. PHP裡變數名區分大小寫,函數名不分
$str = "String\n";$STR = "This is STR\n";echo $str;ECho $str;echo $STR;
結果輸出:
String
String
This is STR
4. PHP裡的注釋除了C++有的 // /**/ 外,還有指令碼常用的 #
// 注釋/* * 注釋 */# 注釋
5. 定義變數時無需指明類型
這點與 python, lua一樣
6. 資料群組是 array
用作數組時:
$arr = array("C++", "C", "Java", "PHP");
用作映射表時:
$map = array("John"=>"M", "Lily"=>"F");
如果不指定索引值,那麼它就是數字 0,1,2,3...為鍵。如果指定了索引值,那就以指定的索引值為鍵。
其功能非常類似於Lua的表。Lua的如下:
w = {x=0, y=0, label="console"}
不過 Lua 的有點怪異,非得從1開始計數。
7. 邏輯語句與C++一樣
if .. else if .. else, for, while, continue, break等與C++一樣。只不過,PHP還支援用 : ... endXXX 來代替 { ... }
if ($num == 0) { echo "num = " . $num;}# 也可以寫成如下if ($num == 0) : echo "num = " . $num;endif
有 ++$i 與 $i++,與C++一樣。
8. 字串用 . 進行串連,這一點跟 Lua 一樣。
9. 字串用單引號或雙引號界定
$name = ‘Peter‘;echo ‘My name is $name\n‘;echo "My name is $name\n";echo "===="
My name is $name\nMy name is Peter
====
在單引號裡 $name 與 \n 都沒有被重新計算。而雙引號則會被替代。這點跟shell一樣。
10. 有 === (恒等)與 !== (不恒等)比較。恒等的意思是不僅值相等,類型還一樣
11. 函數的定義
function PrintName($name) { if (is_string($name)) { echo "My name is $name\n"; return TRUE; } return FALSE;}PrintName("Hevake");
12. 常量
define("NAME", "hevake_lcj"); # 定義常量echo constant("name"); # 取常量if (defined("name")) { # 檢查是否定義了常量 name echo "定義了 name";}
PHP文法特點