php中單引號與雙引號的差別?
1. 由下可看出,雙引號的變數是解析並輸出,而單引號的變數不解析。
2.單引號的解析速度比雙引號的快
3. 對於單引號來說,只有兩個轉義 ',\
4. 除了上述兩個轉義字符,其他都原樣輸出。
5. 對於雙引號來說,可轉義字符除\,',"之外,還有t, r , n 等
6.除了單引號和雙引號用來聲明字符串變量外,還有heredoc方式
程式碼:
//$age = 22;
//$str1 = '他今年$age 歲'; //''原樣輸出
//$str2 = "他今年$age 歲"; //" "要解析裡面的變數即輸出22
//echo $str1,"
",$str2;
php中的註解
(一) 以//開始.
(二) 以#開始.
#這是shell單行註解風格
(三) 多行註解有一種以/*開始以*/結束
php中的注意事項
一. 在js中,一個語句如果單佔一行的話,在行尾可以不加;號
二. 但是,在php加,必須每一行後面都要加分號
雖然在整個php的最後一句例外,但是強烈建議也加上
三. 對於純php頁面,?>是可以不寫的
而且,對於不直接運行,而是被別的頁面所包含的文件,往往還推薦結束不加?>
這樣包含的頁面更快執行速度更快
php中的變量
1. php變量有8種
2. 整數、浮點型、布林型、字串型、NULL型、陣列型、物件型、資源型
3. 在js中,宣告變數以var 變數名稱[= 值],在php中聲明變量,直接變量名=值;
4. 在php中變量命名規範
5. 變量的名字由“字母”、下劃線、數字、組合而成。有一個'$'標記
7. echo 不是一個函數,是一種語法結構。值
11. 引用傳值與賦值傳值
15. 字串型別
變數與常數
(一)常數
變數隨時重新賦值
//$age = 22;
變數可隨時重新賦值
//$age = 22;
變數可隨時重新賦值
//$age = 22;
//$ = /echo "
",$age;
(二)變數與常數的差異? );
PI =3.23;語法錯誤
echo "
",PI;
3. 變數可以銷毀,而常數一旦主義也不能銷毀
unset($age);
var_dump($age); .常數是不能註銷的
unset(PI); //語法錯誤,不允許註銷
echo PI;
5. 變量有其作用域,函數內部默認情況訪問不到外部的變量,
而常數,一旦定義,無論是在全域定義,或是函數內部主義。
在頁面的任何位置都可以存取。
(三) 變數與常數的命名規範
1.常數的命名規範,從語法角度和變數是一樣的。
允許是字母、數字、底線的組合,且數字不能開頭
2. 從習慣角度講:一般常數用「大寫」
//define('SF',342);
//echo SF; //最新的版本已經對常數名區分大小寫
(四)常數的值允許是哪幾種?
1. 只能把標量型(單一型)賦給常數;
2. 不能把複合型,如數組,對象賦給一常數。
3. 資源型 如果賦給常數,如引來一些不可預料的錯誤。
1 define('AGE',22);
2 define('HEI',343.234);
3 define('ROOT','D:/www'); define('LOCK',true);
5 define('NON',NULL);
6 echo AGE,HEI,ROOT;
7 var_dump(LOCK);
8 var_dump(NON);
(一)任何程序,都離不開,變量,表達式,控制結構
(二)在php裡,else if可以連著寫,在js裡不允許,我們推薦規範的書寫,即esle if 隔開。
(三)在php中,變數的作用域並不會像js一樣,沿著作用域往外尋找
(四)在php,有一類特殊的變量,叫做超級全域變數。不管你的在函數中還是在類別內部,也不管程式碼包裝了多深
都能夠存取到該變數。
php陣列與js陣列
(一)在js建立陣列的兩種方法
(二)在js中陣列的索引永遠是從0開始逐一遞增,中間沒有空檔
1. var arr=new Array(1 ,2,3,4);
2. var arr= [1,2,3]
(三)在php中建立陣列
1. 但是在php中,陣列的索引是非常彈性的
2. 可以是數字,也可以是字串
3 . 甚至可以是數字和字串混合
4. 如果索引部分指定了數字索引
5. 又有某個單元沒有指定索引
6. 則取該單元之前曾經出現的最大的數字索引值然後+1 ,作為其鍵值
php建立陣列如下:
複製程式碼 程式碼如下:
$arr=array(1,2,3);
print_r($arr);
//========== =================================
$arr=array(10=>'趙','adfdssd'= >'錢','孫','name'=>'張三豐');
print_r($arr);
7. 在php中,如何引用數組的單元值,關鍵靠索引
8. 而索引是數字索引
//echo $arr[10];
9. 如果是字串索引,必須要求加單引號,如果不加單引號它先當著常數來處理
//define('name','adfdssd ');
//echo $arr[name];
(四)關聯數組與索引數組
1. 索引既可可能是純數字,也可能是字串,也有可能是字串+數字混合
2.如果索引是純數字,就叫'索引數組';
3. 否則就叫"關聯數組";
(五) php中的函數與js中的函數的不同之處
1. 在js中,可以多次宣告同名函數
2.但是在一個php頁中,不能多次同名函數
3. 在js中,函數名稱區分大小寫
4.在php中,函數名稱不區分大小寫(類別方法也不區分)
5. 在php中,呼叫函數時的參數個數必須與宣告函數的參數一致
6. 在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; $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中的控制結構
//任何程序,都離不開,變量,表達式,控制結構
if ,if/else,if/else if/ esle
$num=3;
if($num >2){
echo '在php裡,3也大於2',"
";
}
if($num >5){
echo '3大於5',"
";
}else{
echo '3不大於5';
}
//
if($nun==1){
echo '今天是星期一';
}else if($num ==3){
echo '今天是星期三'; else{
echo '非一非二非三';
}
////在php裡,else if可以連著寫,在js裡不允許
//我們推薦規範的寫,即esle if 隔開。
//=============================================== ======
switch case 語句
$num = 3;
switch($num){
case 1:
echo '今天星期一',"
"
break; echo '今天星期二',"
";
break;
case 3:
echo '今天是星期三',"
";
break;
default:
echo '不知道'break; ;
}
/*
假設某人有100,000現金,每經過一次路口需要進行一次資費。
資費規則為當他現金大於50000時,每經過一次路口時需要交5%現金,如果現金小於等於
等於50000時每次交5000,請寫一程序計算此人可以經過多少次這個路口
* /
for ($m =100000,$num=0;$m>=5000;$num++){
if ($m>50000){
$m*=0.98;
}else{
$m*=0.98;
}else{
$m*=0.98;
}else{
$m*=0.98;
}else{
$m*=0.98;
}else{
$m*=0.00 ;
}
}
//========================================== =
//while ,do/while
//用while 印出$1-9;
$i =1;
while($iecho $i++,"
"; i=0;
while(++$iecho $i,"
";
}
//==================== =========================
while(){}
$i=0;
while(++$iif ($i==5){
break;
continue;
}
echo $i,"
";
}
////================= ============================
//php裡的超級全域變數
$num =99;
function t(){