當前位置:才華齋>計算機>php語言>

PHP語言基礎及規範

php語言 閱讀(2.45W)

在開發任何一種語言的時候,都需要先明白這個語言的規範,來一起看看PHP的規範,包括標記、註釋、變數、陣列、常量、函式。

PHP語言基礎及規範

  PHP標記風格

風格(標準風格推薦使用)

程式碼如下:

<?php

echo"這是xml風格的標記";

?>

xml風格的標記是常用的標記,也是推薦使用的標記,服務器不能禁用,該風格的標記在xml,xhtml中都可以使用。

2.指令碼風格

程式碼如下:

echo'這是指令碼風格的標記';

3.簡短風格

程式碼如下:

注:需要在中設定short _open_tag=on,預設是on,或者在 PHP 編譯時加入了 –enable-short-tags 選項。(PHP 3版本還可以通過 short_tags() 函式啟用使用短標記。)

風格

程式碼如下:

<%

echo'這是asp風格的標記';

%>

注:需要在 配置檔案中開啟 asp_tags = on;

上面asp風格與簡短風格需要在中設定下。預設是不支援的。

  php中的註釋

(一) 以//開始.

(二) 以#開始.

#這是shell單行註釋風格

(三) 多行註釋有一種以/*開始以 */結束

php中單引號與雙引號的區別?

1. 由下可看出,雙引號的變數是解析並輸出,而單引號的'變數不解析。

2. 單引號的解析速度比雙引號的快

3. 對於單引號來說,只有兩個轉義 ',

4. 除了上述兩個轉義字元,其他都原樣輸出。

5. 對於雙引號來說,可轉義字元除,',"之外,還有 , ,等

6.除了單引號和雙引號用來宣告字串變數外,還有heredoc方式

程式程式碼:

//$age = 22;

//$str1 = '他今年 $age 歲'; //''原樣輸出

//$str2 = "他今年 $age 歲"; //""要解析裡面的變數 即輸出22

//echo $str1,"

",$str2;

 php中的注意事項

一. 在js中,一個語句如果單佔一行的話,在行尾可以不加;號

二. 但是,在php加,必須每一行後面都要加分號

雖然在整個php的最後一句例外,但是強烈建議也加上

三 . 對於純php頁面,?>是可以不寫的

而且,對於不直接執行,而是被別的頁面所包含的檔案,往往還推薦結束不加?>

這樣包含的頁面更快執行速度更快

  php中的數字型別

1. php變數有8種

2. 整型、浮點型、布林型、字串型、NULL型、陣列型、物件型、資源型

3. 在js中,宣告變數用var 變數名[= 值],在php中宣告變數,直接變數名=值;

4. 在php中變數命名規範

5. 變數的名字由“字母”、下劃線、數字、組合而成。並且數字不能開頭

6. 在php中變數前面有一個‘$'標記

7. echo 不是一個函式,是一種語法結構。

8. 可以把變數打印出來

9. 要列印多個變數時,用 ','隔開

10. 變數的傳值

11. 引用傳值 和 賦值傳值

12. 字串 型別

  變數和常量

(一)常量

變數可以隨時重新賦值

//$age = 22;

//$age = 23;

//echo "

",$age;

(二)變數和常量的區別?

1. 它們的宣告方式不同

2. 而常量一旦宣告,不能改變其值

define('PI',3.14);

PI =3.23;語法錯誤

echo "

",PI;

3. 變數可以銷燬,而常量一旦主義也不能銷燬

unset($age);

var_dump($age);

4.常量是不能登出的

unset(PI); //語法錯誤,不允許登出

echo PI;

5. 變數有其作用域,函式內部預設情況訪問不到外部的變數,

而常量,一旦定義,無論是在全域性定義,還是在函式內部主義。

在頁面的任意位置都可以訪問到。

(三) 變數與常量的命名規範

1.常量的命名規範,從語法角度和變數是一樣的。

允許是字母、數字、下劃線的組合,並且數字不能開頭

2. 從習慣角度講:一般常量用“大寫”

//define('SF',342);

//echo SF; //最新的版本已經對常量名區分大小寫

(四)常量的值允許是哪幾種?

1. 只能把標量型(單一型)賦給常量;

2. 不能把複合型,如陣列,物件賦給一常量。

3. 資源型 如果賦給常量,如引來一些不可預料的錯誤。

程式碼如下:

define('AGE',22);

define('HEI',343.234);

define('ROOT','D:/www');

define('LOCK',true);

define('NON',NULL);

echo AGE,HEI,ROOT;

var_dump(LOCK);

var_dump(NON);

以下是程式碼例子

<?php

//================================================ 返回原處

//2. 整型、浮點型、布林型、字串型、NULL型

$age = 22;

$weight = 75.23;

$name ='張三';

$money = false;

$house = null; //相當於js中的undifined

echo $age,$weight,$money,

//================================================ 返回原處

//10. 變數的傳值

$age =22;

$nian =$age;//把$age的值讀取出來,賦給$nian

$nian= 24;

echo $nian,'----',$age;

//================================================

//11. 引用傳值賦值傳值

$money =10000;

$credit = &$money; //宣告$credit變數,並把credit指標指向money的儲存空間

$credit = 5000;

echo $credit,'--------',$money;

unset($credit);

echo $credit;

//================================================

//字串 型別

$str1 = 'hello';

$str2 = "world";

echo $str1,$str2,"

";

//================================================

$age = 22;

function t(){

var_dump($age);

}

t();

define('HEI',88.63);

function s(){

var_dump(HEI);

}

s();

// 注:php中的函式不能重複宣告,函式裡的變數包得比較嚴,只不函式內起作用。不會跑到外面作用

//5.對於以上情況,用變數,常量都行,但是我們選擇常量。

//理由:一是ROOt,被經常引用

//二是:如果用變數,$ROOT ='a';極有可能在多人開發過程中被改變值

//用常量也有不好的地方:

//常量一旦定義就不會被銷燬

//常量始終點內在裡,沒法銷燬。

//=====================================================

//在php中,變數名也是可變的。

$talk='hello';

$heat= 'kill you';

$love= 'love';

echo $love,"

";

$action = 'talk';

$t ='action';

echo $$$t;

//=====================================================

//提前預告:不僅變數名,函式名也是可變的,類名也是可變 的。

////常量名也要變一變

define('PI',3.14);

define('HEI',342);

$cons= 'PI';

echo $cons,"

";

echo constant($cons); //constant是把變數的值當成常量的名字,引用常量

//===================================================== 返回原處

////===========================================

  //php裡的超級全域性變數

$num =99;

function t(){

echo $num;

//}

////在這個呼叫過程,$num為null,因為函式內部沒有定義$num

////且在php中,並不會像js一樣,沿著作用域往外尋找。

t();

///===========================================

//在php,有一類特殊的變數,叫做超級全域性變數。

//不管你的在函式中還是在類內部,也不管程式碼包裝了多深

//都能夠訪問到該變數。

function a(){

echo $_GET['title'];

}

a();

///===========================================

  //想用php做留言本

//關於邏輯運算子

var age= 2||3;

alert(age);

var_dump($age);

//在php中,邏輯運算返回true/false

$age = 2||3;

var_dump($age);

$a = 3;

$b= 2;

if($a=9 || $b=1){

$a +=1;

$b +=1;

}

echo $a,"

",$b;

//php中的函式與js中的函式的不同之處

//1. 在js中,可以多次宣告同名函式

//但是在一個php頁面中,不能多次同名函式

//2. 在js中,函式名區分大小寫

//在php中,函式名不區分大小寫(類方法也不區分)

///=========================================== 返回

//3. 在php中,呼叫函式時的引數個數必須與宣告函式的引數一致

$a = 1;

$b = 2;

$c = 3;

function t($a,$b,$c){

echo $a+$b+$c;

}

t(1,2,3);

t(1,2);

///===========================================

//4. 在php的函式,函式宣告時,某個引數可以有“預設值”

function t($a,$b,$c=0){

echo $a+$b+$c;

}

t(1,2);

?>