《重蔚php學習第二十六天——php流程控制,php模板語法》要點:
本文介紹了重蔚php學習第二十六天——php流程控制,php模板語法,希望對您有用。如果有疑問,可以聯系我們。
PHP有三種流程控制結構:順序結構,分支結構,循環結構
默認的,代碼的執行結構都是順序結構.代碼一行一行從上往下執行.順序結構是程序代碼的最基本結構.
分支結構:一段代碼根據不同的條件執行不同的部分
PHP中有兩種基本分支結構:if分支結構,switch分支結構
If分支結構語法
If(條件表達式){
//當條件表達式返回結果為true的時候,執行里面的語句塊
//語句塊
}
//如果條件表達式返回結果為false則不執行語句塊
以上被稱之為最簡分支結構
標準if結構
If(條件表達式){
//if語句塊
}else{
//else語句塊
}
復雜if結構
If(條件表達式1){
//if語句
}else if(條件表達式2){
//else if語句
}…{
}else{
//else語句塊
}
If分支結構原理
在PHP中允許else if和elseif兩種語法.兩種語法得到的結果完全一致.但是實現原理不同.
Else if:一次只有兩個結果,向下的其他比較都是在false之后再次產生,類似二叉樹
Elseif:產生一個平行結構,一個多節點的樹狀結構.
Switch分支結構
語法
Switch($falg){
Case 1:
//語句
Break;
Case 2:
//語句
Break;
Default:
//語句
Break;
}
結構和運行原理
什么時候使用if結構,什么時候使用switch結構?
大部分的情況下都可以使用.通常會這樣來區分使用:
如果條件是需要判斷大小或者范圍的,使用if分支結構
如果條件是規定具體值的,那么使用switch
不推薦在switch中使用條件判斷(比較表達式)
注意:凡是能使用switch的都可以使用if來解決,但是不見得所有if能實現的switch都可以做到.如果switch中case對應的條件是個比較表達式的話,有可能出問題.
循環結構
某一段代碼需要重復執行
電腦要知道什么時候結束執行,否則會一直執行下去,死循環.
注意:寫任何循環結構的時候都要保證循環不會出現死循環.
PHP提供了多種循環
For,while,do-while,foreach
For循環:知道具體循環次數
For(初始條件;條件范圍;條件變更){
//循環體
}
While循環:只要滿足條件,就可以無限循環
語法:
While(條件表達式){
//循環體
//循環變量的變化
}
Do-while循環:先執行循環體再判斷循環條件
語法:
Do{
//循環體
//循環條件變更
}while(條件表達式);
While和do-while的區別:do-while一定會執行一次循環體,而while不一定
Foreach:PHP中專門用來遍歷數組(關聯數組),后面講數組的時候再講.
For模擬while
標簽語法,因為PHP是需要嵌入到html代碼中
<?php for($i=0;$i<10;$i++){ ?>
<tr><td><?php echo $i;?></td></tr>
<?php }?>
為了解決在html語言中出現這種大括號分開寫,不美觀的情況,可以使用標簽語法替代
標簽語法:在大括號開始“{”的時候使用冒號“:”替代,在大括號結束的地方使用end+標簽+分號“;”
If(){
}
標簽語法
If() :
Endif;
For循環
For():
Endfor;
While循環
While():
Endwhile;
Foreach循環
Foreach():
Endforeach;
使用見代碼demo06.php
什么是函數?某一段常用的代碼塊的集合,在使用的時候只需要去調用這個代碼塊的“入口”,函數名即可.
為什么使用函數?
代碼的重復利用
模塊化編程
函數分為兩種:系統函數和自定義函數
系統函數:系統為開發人員定義的函數,只需要開發人員調用即可.
自定義函數:開發人員自己定義函數,調用前需要先定義函數.
自定義函數
語法:
function 函數名(參數列表){
函數體;
Return返回值
}
自定義函數的幾個要素:函數名,函數體,返回值
如何調用函數?
跟調用系統函數一樣
語法:函數名(參數列表);
函數到底是如何被執行的?
函數的調用與函數的定義順序沒有關系,可以在定義函數之前調用函數,前提是彼此都在同一個腳本.
原因何在?
函數的參數:形式參數和實際參數
形式參數:定義函數的時候所使用的參數就稱之為形式參數,形式參數沒有實際值
實際參數:在調用函數的時候傳遞給形式參數的參數叫做實際參數
代碼
函數參數的傳遞
值傳遞:拷貝復制,重新開辟內存空間
引用傳遞:直接傳遞地址,指向同一個內存空間
函數默認使用的都是值傳遞,把實際傳入的參數的值復制并賦值給形式參數.
但是也可以改變函數的參數方式變成引用傳遞.
語法
在定義函數的時候,將形式參數添加一個&符號
Function test(&$name){
//在這里對$name進行操作,也就是對外部傳入的變量進行操作
}
調用:與普通調用一樣
引用傳值原理
代碼
作用域
什么是作用域?一個變量能夠被識別的范圍.
PHP中有兩個作用域:全局作用域,局部作用域
Js中也有兩個作用域:全局作用域,局部作用域
如何在函數內部使用全局變量呢?
PHP提供了一種機制去在函數內部調用全局變量
$GLOBALS[‘全局變量名’]
原理:
$GLOBALS會在用戶定義全局變量的時候,將變量名和值保存到$GLOBALS數組中,其中變量名對應鍵名(數組下標),值對應數組的值.
又因為$GLOBALS是超全局變量,所以可以在任何地方使用.
$GLOBALS保存的全局變量的引用,$GLOBALS[‘變量名’] === 變量名
Global 全局變量名
在函數內部建立一個全局變量
global原理
《重蔚php學習第二十六天——php流程控制,php模板語法》是否對您有啟發,歡迎查看更多與《重蔚php學習第二十六天——php流程控制,php模板語法》相關教程,學精學透。維易PHP學院為您提供精彩教程。