流程控制
主要分三種
1、順序結構:程序自上而下的一個執行過程
2、分支結構:根據某一條件將程序轉向不同的分支處執行
3、循環結構:計算機最大的特點是計算速度快,計算機主要用於解決重複性問題
補充
continue:
語法:continue n
n的取值是一個整數,如果省略默認是1
n主要用在循環嵌套下的情況下
結束當前循環結構的本次循環,繼續上n層循環結構的下一次循環
舉例:
for($j=1;$j<3;$j++){ for($i=1;$i<=9;$i++){ if($i%3==0){ continue 2; } echo $i,'<br>'; } }
運行結果:
for($j=1;$j<3;$j++){ for($i=1;$i<=9;$i++){ if($i%3==0){ continue 1; } echo $i,'<br>'; } }
運行結果:
流程控制在js筆記均有講解,不過多贅述
詳情附鏈接https://blog.csdn.net/Z_phone/article/details/87002589
流程控制標籤語法
if標籤語法
標準語法:
<?php if(...){?>
<?php }?>
簡化語法:
<?php if(...):?>
<?php endif?>
同理有for標籤語法,while標籤語法等
舉例:
<?php $data=[ [10,'huawei','mate 10',3000], [11,'huawei','mate 11',3000], [12,'huawei','mate 12',3000], [13,'huawei','mate 13',3000] ]; ?> <table border="1" rules="all"> <tr> <th>id</th> <th>name</th> <th>code</th> <th>price</th> </tr> <?php for($i=0;$i<4;$i++){?> <tr> <td><?php echo $data[$i][0]?></td> <td><?php echo $data[$i][1]?></td> <td><?php echo $data[$i][2]?></td> <td><?php echo $data[$i][3]?></td> </tr> <?php }?> </table>
運行結果:
文件載入
1、介紹
- 在實際開發過程中,經常會在一個PHP文件中引入其他文件
- 被引入的文件可以是HTML文件也可以是PHP文件
- 引用文件主要兩種目的:
1、當前文件(PHP)有數據,想在被引用的文件(HTML)中顯示
2、當前文件(PHP)中想使用另一個文件(PHP)中的功能性代碼
2、語法
1、require
require(文件名)
require_once(文件名);
2、include
include(文件名)
include_once(文件名);
注意:如果引入的是函數,需要先引入後調用
3、引入路徑問題
在實際項目中,對於HTML文件,我們不允許用戶直接請求,而是指向一個PHP文件,讓PHP文件來引用處理這個HTML文件
當一個PHP文件引入一個HTML文件時,HTML本身也會引入一些其他的文件,如:圖片文件、CSS文件、js文件。這時發生路徑更改的問題,路徑要以當前PHP文件所在位置爲起點
4、require與include的區別
include在引入文件時,如果被引入的文件不存在則會報錯,但程序還會繼續向下執行。
require在引入文件時,如果被引入的文件不存在,則會中斷程序的執行
所以:
require一般用於引入PHP文件。因爲PHP裏面一般書寫的是功能性代碼
include一般用於引入HTML文件
include_once、require_once每次在引入文件時,都會檢查被引入的文件之前有沒有被引入過,如果有則不再引入
include、require則沒有這樣的功能
5、_ _DIR_ _和_ _FILE_ _
_ _DIR_ _:用於獲取所在文件的完整文件名
_ _FILE_ _:用於獲取所在的文件的路徑
_ _DIR_ _與_ _FILE_ _並不會別引入後所更改。永遠代表_ _DIR_ _和_ _FILE_ _所在文件的文件名與文件夾名
錯誤機制(瞭解)
1、錯誤分類
1、編譯錯誤
最容易解決,很多都是書寫問題,走不到執行階段
2、執行錯誤
一旦發生錯誤,會根據錯誤的等級來決定是否中斷程序的執行
3、邏輯錯誤
最難排查的
2、錯誤代碼
在PHP錯誤處理機制中,每一種錯誤都使用了一種錯誤標識,錯誤標識是以常量形式存在
1、獲取錯誤代碼
2、系統錯誤
E_ERROR:致命錯誤,一旦發生中斷程序執行
E_WARNING:警告錯誤,一旦發生並不會中斷程序執行
E_NOTICE:提示錯誤,一旦發生並不會中斷程序執行
E_PARSE:編譯錯誤,一旦發生中斷程序執行
3、自定義錯誤
E_USER_ERROR:用戶級的致命錯誤,一旦發生中斷程序執行
E_USER_WARNING:用戶級的警告錯誤,一旦發生並不會中斷程序執行
E_USER_NOTICE:用戶級的提示錯誤,一旦發生並不會中斷程序執行
3、錯誤的觸發
1、系統錯誤的觸發
程序員無法干涉系統錯誤的觸發,系統錯誤由PHP自己檢測並觸發
2、自定義的錯誤
trigger_error();
語法:
trigger_error(msg,type);
msg:描述錯誤信息
type:自定義的錯誤代碼(E_USER_ERROR、E_USER_WARNING、E_USER_NOTICE)
提示:使用錯誤處理機制的好處是,可以將錯誤記錄起來。默認會被記錄到Apache的/log/error.log文件中。
4、錯誤的控制設置
PHP錯誤控制可以在php.ini中進行。我們可以控制錯誤是否顯示,還可以顯示哪一類的錯誤
5、錯誤的日誌文件的設置