1. 基本語法
要在html**中嵌入php指令碼的方法是在<?php ?>中書寫**。向瀏覽器輸出資料採用echo或者print函式。echo可以接受多個引數,print 只能接受乙個。echo的形式是
void echo(string arg1,[,…string argn]);
php語法允許省略括號。 例如,
複製** **如下:
<?php
$my =' my ';
echo 'hello',$my,'world'
?>
將會在瀏覽器上輸出 hello my world
php 還支援乙個和c語言很像的printf函式,例如 printf(『 %d ap',100),將會輸出 100 apples。sprintf的用法和printf一致,不過它不是輸出到瀏覽器,而是返回乙個字串。
2.資料型別和變數
php是弱型別的,乙個變數不需要預先宣告,也不需要指定型別。php中變數是$加上變數名,php的變數是區分大小寫的。 例如上例中的 $my='my'。
php支援的變數型別包括:布林型,整型,浮點型,字串,陣列和物件。前四種很常用,也和其他語言類似,不多做介紹。陣列和物件後文具體介紹。
php中有函式來檢測 物件的型別,它們是 getttype。gettype返回乙個string,它的值可以是array,boolean,double,integer,object,resource,string 和 unknow type. php也支援顯式的型別轉換,語法和c類似。
轉換操作符 轉換為
(array) 陣列
(程式設計客棧bool) (boolean) 布林型
(int) (integer) 整數
(object) 物件
(float),(double),(real) 浮點數
(string) 字串
例如:
複製** **如下:
<?php
$str ='a string';
$num=15;
$numstr='123.3';
echo gettype($str),'
'; echo gettype($num),'
'; echo gettype($numstr),'
'; $numstr=(float)$numstr;
echo gettype($numstr);
?>
輸出結果為:
string
integer
string
double
還有函式可以用來判斷乙個變數是不是某種型別,例如 is_array(),is_bool()等等,用法都類似
3. 函式和變數作用域
php宣告函式的方法很簡單,形式如下:
複製** **如下:
function functionname(parameters)
不需要指定返回型別,括號中也不需要指定變數型別,只要有變數名就可以。例如:
複製** **如下:
<?php
function taxedprice($price,$taxrate)
echo taxedprice(10 0.03);
?>
預設情況下,php是按值傳遞引數的,在函式內改變引數的值並不會改變函式外變數的值,但是php也支援按引用傳遞,語法和c一致,&$paramname,例如,下面乙個經典的例子:
複製** **如下:
<?php
function swap1($x,$y)
function swap2(&$x,&$y)
$a=3;$b=5;
swap1($a,$b);
printf("a is %d, b is %d
",$a,$b);
swap2($a,$b);
printf("a is %d, b is %d
",$a,$b);
?>
輸出結果:
a is 3, b is 5
a is 5, b is 3
php的函式還支援引數的預設值,語法和c也是一樣的。例如:
複製** **如下:
<?php
function taxedprice($price,$taxrate=0.03)
echo taxedprice(100);
?>
下面介紹變數的作用域。php的變數作用域和c很類似,有區域性變數,函式引數,全域性變數,靜態變數4種。區域性變數就是在函式內宣告的變數,函式引數是在函式首部宣告的變數;不在函式中宣告的變數是全域性變數,全域性變數可以在任何地方訪問到,但是和c不同的是,如果在函式中要修改全域性變數的值需要用global關鍵字顯式指定它是全域性變數,否則php就會宣告乙個同名的區域性變數並且覆蓋它。例如:
複製** **如下:
<?php
$taxrate=0.03; //global
function change1()
function change2()
change1();
echo $taxrate,'
'; change2();
echo $taxrate,'
'; ?>
輸出的結果是:
0.03
1.03
PHP學習筆記之一
配置php以及mysql的過程略去,如果在ubuntu下,參考 ubuntu 10.04 installation memo 即可。1.基本語法 要在html 中嵌入php指令碼的方法是在中書寫 向瀏覽器輸出資料採用echo或者print函式。echo可以接受多個引數,print 只能接受乙個。ec...
MySQL學習筆記之一 MySQL入門
一 簡介 mysql是乙個真正的多使用者 多執行緒sql資料庫伺服器。sql 結構化查詢語言 是世界上最流行的和標準化的資料庫語言。mysql是乙個客戶端 伺服器結構的實現,它由乙個伺服器守護程式mysqld和很多不同的客戶程式和庫組成。mysql的普及並不侷限於開放源 團隊內。雖然它在個人計算機上...
MySQL學習筆記之一MySQL入門
本人之前接觸的關係型資料庫主要是oracle和sqlserver,而對於mysql知之甚少,但查閱網上資料發現,mysql與oracle非常相似,所以學起來應該不會很費勁,在總結的時候可能更多的把關注點放在它與oracle的不同之處。一 簡介 mysql是乙個真正的多使用者 多執行緒sql資料庫伺服...