使用多行註解符號時,切勿使用槽狀註解,以免發生錯誤EX:/*
xx我xx是xx程xx式xx碼xx /* */
*/--上述三行就是槽狀註解--
注意:
在PHP之中,每一行敘述的結尾,都必須加上";",如果沒有適當的加上";",PHP在執行時會產生錯誤訊息。
用<?php和 ?>標籤來放在xhtml裡面
宣告變數要用$開頭,程式碼要用;結尾
EX:<?php
$name = "rome";
?>
php印出的語法有兩個: print 和 echo
EX:
print("Hello~~這樣的範例比較清楚~");
echo"這也可以印出來喔~~";
?>
EX:
<?phpecho "Hello World";?>使用strlrn()function計算字串長度(此例結果會是3)<?phpecho strlen("HI!");?>使用strpos()function來找特定的字串(此例結果會是6,找TPE字串)<?phpecho strpos("Hello TPE!","TPE");?>宣告常數用define(String,value) EX:define("VALUE",1);未指定初始值的話,預設值為undef,0,""(空字串)
單行註解可用//或#,多行註解可用/*和*/
php文法是case sensitive
變數型態會自動轉變 EX:$testString = 1.2meter =>String $testDouble =>double
也可用setType改變型態 EX:setType($testDouble,"String") =>$testDouble =>Stirng
getType($data)來取得該變數型態
print("字串")來印出文字 使用.來連接字串
計算可以用$a += 1來代表$a = $a + 1 ,+號可用-*/%替換
判斷是適用if和else來達成 EX:
if($a >10)
statement1;
elseif($a > 8)
statement2;
else
statement3;
宣告Array和配合的迴圈方法
$x[0] = 1;
$x[1] = 2;
$x[] = 3;
for($i = 0;$i < count($x);$i++) //count代表該array的長度
$y = array(1,2,3);
for($i = 0;$i < count($y);$i++)
不用數字指標的associative array
$z["rome"] = 1;
$z["john"] = 2;
$z["mary"] = 3;
for(reset($z);$element = key($z);next($z)) //reset代表開頭的指標,key代表目前的指標,next代表把指標往下移一格
$a = array("a" => 1,"b" => 2);
foreach($a as $element => $value)
在PHP中,變數的名稱也可以是變數~
$a = "hello";
$$a = "world";
echo $a . " " . $$a;
echo $a . " " . ${$a};
echo $a . " " . $hello;
?>
以上3種輸出都是~hello world
存取路徑:
無論是要存取資料或檔案,都必須指定路徑。
PHP提供了basename()、pathinfo()、realpath()等函式可以用來存取路徑;
$path = $_SERVER[PHP_SELF];
basename(string path [, string suffix]) //取得檔案名稱
EX: echo basename($path, '.php');
pathinfo(string path) //取得路徑資料
EX: echo pathinfo($path);
realpath(string path) //取得絕對路徑
EX: $filename = basename($_SERVER[PHP_SELF]);
.realpath($filename);
不過要記得考慮到存取權限的問題,權限不足要先變更作業系統的權限。
傳值設定: $A=$B
會將B的值傳給A
但2者為獨立的變數
在改變B的內容不會在影到A
傳址設定:
$A=&$B
&表是取出$A的位址給B
表示A跟B將指向同一個記憶體空間
接下來若改變B的值 A的值也會改變
PHP 也可以建立像是java的method
Function 自訂函數名稱 ($arg1,$arg2,.....$argn){
函數敘述;
return 函數返回值;
}
EX:
Function test ($name){
echo " 我的名字是:$name ";
}
?>
PHP的基本運算子
大致歸類下列十種:
1.算術運算子2.指定運算子 3.錯誤控制運算子 4.比較運算子5.執行運算子 6.執行運算子 7.加一/減一運算子8.邏輯運算子9.字串運算子10.陣列運算子
運算子
說明
範例
+
加法運算
8+2
-
減法運算
9-4
*
乘法運算
2*1
/
除法運算
14/7
%
求餘數
9%4
與其他程式語言一樣,運算子可以用在常數與常數,或常數與變數,或變數與變數之間的運算,例如:
$c=$a+$b;
$f=1+2;
$h=$g+3;
?>
指定運算子為=符號,意思代表將=右邊的運算結果,指定給=左邊的變數.
比較運算子的結果一定是TRUE或FALSE,用來比對兩個變數或運算式
運算子
說明
範例
==
相同
$a==$b
<
左邊小於右邊
$a
>
左邊大於右邊
$a>$b
<=
左邊小於或等於右邊
$a<=$b
>=
左邊大於或等於右邊
$a>=$b
!=
不等於
$a!=$b
<>
不等於
$a<>$b
應用範例如下:
$r=2<3; //$r為TRUE
$r=2<>3;//$r為TRUE
$p=2;
$r=$p<>3;//$r為TRUE
$r=$p<>2;//$r為FALSE
$r=$p==3;//$r為FALSE
?>
String Processing and Regular Expression
按照ASCII順序比較字串
EX:if(strcmp($string[$i],"abc") < 0) //比較符號可用==,!=,>=,<=,>,
ereg("abc",input) 左邊放格式,右邊放要比較的字串,正確會傳回字串的長度,在boolean表示會代表true
eregi("abc",input)大小寫需求一致採用
^代表開頭字串,$代表結尾字串,.代表任何字元,EX:"^b$"
[]和-可代表範圍 EX:"[a-zA-Z]bc"
[[:<:>:]]分別代表開始和結束的一個word EX: "(This is a )[[:>:]]" //其他字串用()隔開
除了有{n},{m,n},{n,},+,*,?這些其他語言有的基本字串邏輯符號外
還有alnum,alpha,digit,space,lower,upper分別代表字母和數字,字母,數字,空白,大寫字母,小寫字母
ereg_replace(符合字串,替代字串,目標字串) 可用來在搜尋途中更改字串
php的switch指令
跟java幾乎一樣只差變數寫法不太相同
ex:
$A=2
switch(判斷變數){
case 條件1 :
敘述;
break;
.
.
case 條件n :
敘述;
break;
default:
敘述;
}
---PHP語法---
strcmp可以用來判斷兩個字串大小。
strcmp (a,b)
假如a>b回傳1
a=b回傳0
a
ereg為尋找字串、eregi也是尋找字串,但是不分大小寫。
可以加入關鍵字:
“^”為字串開始
“$”為字串結束
“1-4” 1到4
ereg( "Now", $search )用來檢查是否有”NOW”字串
ereg( "^Now", $search )用來檢查是否有NOW開頭的字串
ereg( "Now$", $search )用來檢查是否有NOW結尾的字串
QuantifierMatches
{n}
執行n次
{m,n}
執行次數介於m~n次
{n,}
執行至少n次
+
一或多次(same as {1,}).
*
零或多次(same as {0,}).
?
零或一次(same as {0,1}).
Characterclass Description
alnum
大小寫英文字加上數字0~9
alpha
大小寫英文字
digit
數字
space
空白
lower
小寫英文字
upper
大寫英文字