在開發任何一種語言的時候,都需要先明白這個語言的規範,來一起看看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);
?>