PHP筆記2 運算子 流程控制及檔案包含

2021-10-09 07:55:24 字數 3546 閱讀 8157

檔案包含

1.賦值運算子: =

2.算數運算子:+ - * / %

3.比較運算子:> >= < <= == != === !==

4.邏輯運算子: && and || or !

邏輯與和邏輯或又稱之為短路運算,如果第乙個表示式結果已經滿足條件了,那麼就不會執行邏輯運算子後面的表示式:在書寫**的時候,盡量將出現概率最高的(能夠直接判斷出結果)的表示式放到第一位,提高運算效率

5.連線運算子

. 將兩個字串進行拼接

.= 復合運算,將左邊的內容與右邊的內容連線起來,然後重新賦值給左邊變數

6.錯誤抑制符

在php中有一些錯誤可以提前預知,但是這些錯誤可能無法避免,但是又不希望報錯給使用者看,可以使用錯誤抑制符處理

@:在可能出錯的表示式前面使用@符號即可

錯誤抑制符通常在生產環境(上線)會用到,在開發的時候不會用:系統本身最好沒有任何錯誤。

$a =10;

$b =0;

//$a%$b; //本行會報錯 division by zero in c:\e\server\www\test2.php on line 25

@($a%$b)

//本行不會報錯

7.三目運算子

表示式1 ? 表示式2 :表示式3;

8.自操作運算子

++:在原來的值上+1

–:在原來的值上-1

在php中自操作符是可以放到變數前或者後:前置自操作和後置自操作前置或者後置如果本身只有自操作,不參與其他運算(自操作同時),那麼效果是一樣的。但是如果自操作同時還參與別的運算,那麼效果就不一樣

$a =1;

$b =1;

echo

($a++);

//1echo

(++$b)

;//2

9.衍生符號:類似自操作

+=:左邊的結果與右邊結果相加,然後賦值給左邊

-=:左邊的減去右邊的結果,然後複製給左邊

*=:乘法操作

/=:除法操作

%=:模操作

10.位運算

&:按位與,兩個位都為1,結果為1,否則為0

|:按位或,兩個有乙個為1,結果為1

~:按位非,乙個位如果為1則變成0,否則反之

^:按位異或,兩個相同則為0,不同則為1

<<:按位左移,整個位(32位),向左移動一位,右邊補0

:按位右移,整個位向右移動一位,左邊補符號位對應內容(正數補0,負數補1)

if分支

if(條件表示式)else if(條件表示式)else

switch分支

switch

(條件表示式)

for迴圈:通過條件、起始和終止判斷執行

for(條件表示式1;條件表示式2;條件表示式3)

while迴圈:通過判斷條件終止

while

(條件表示式)

do-while迴圈:跟while差不多

do

while

(條件表示式)

;

foreach迴圈:專門針對陣列

迴圈控制

1)中斷控制:重新開始迴圈,迴圈體中還有其他內容,也不執行,重新執行

continue 層級; //層級預設是1(迴圈可以多層巢狀)

continue 2; //當前自己迴圈後面內容不再執行,同時本層的外部迴圈如果還有迴圈體也不再執行,重新來過

2)終止控制:迴圈直接結束

break 層級; //層級預設是1

break 2; //當前自己迴圈結束,同時本層的外部也結束(如果還有外部不受影響,繼續執行)

php本身是嵌入到html中的指令碼語言,需要在html中書寫一些關於判斷或者迴圈的結構語法,必須符合php標籤規範,需要html與php進行混搭,如果使用原始的php**那麼會非常不美觀。

在php書寫到html中的這些大括號{}非常不美觀,所以php提供了一種替代機制,讓其可以不用書寫大括號

if if(;?: endif;

switch switch(;?: endswitch;

for for(;?: endfor;

while while(;?: endwhile;

以for迴圈為例可以改寫為以下格式:

for

($a=

1;$a<

10;$a++):

echo $a;

endfor;

在乙個php指令碼中,去將另外乙個檔案(php)包含進來,去合作完成一件事情。各個檔案分工協作,各自完成各自的功能邏輯,達到復用**的效果。

include:包含檔案

include_once:系統會自動判斷檔案包含過程中,是否已經包含過(乙個檔案最多被包含一次)

require:與include相同

require_once:以include_once相同

include 『檔案名字』;

include(『檔案名字』); //檔案名字:路徑問題

1、讀取**檔案(php程式)

2、編譯:將php**轉換成位元組碼(生成opcode)

3、zendengine引擎來解析opcode,按照位元組碼去進行邏輯運算

4、轉換成對應的html**

1、在檔案載入(include或者require)的時候,系統會自動的將被包含檔案中的**相當於嵌入到當前檔案中

2、載入位置:在哪載入,對應的檔案中的**嵌入的位置就是對應的include位置

3、在php中被包含的檔案是單獨進行編譯的

php檔案在編譯的過程中如果出現了語法錯誤,那麼會失敗(不會執行);

但是如果被包含檔案有錯誤的時候,系統會在執行到包含include這條語句的時候才會報錯

include系統會碰到一次,執行一次;如果對統一個檔案進行多次載入,那麼系統會執行多次

include_once:系統碰到多次,也只會執行一次

本質都是包含檔案,唯一的區別在於包含不到檔案的時候,報錯的形式不一樣

include的錯誤級別比較輕:不會阻止**執行

require要求較高:如果包含出錯**不再執行(require後面的**)

檔案在載入的時候需要指定檔案路徑才能保證php正確的找到對應的檔案

檔案的載入路徑包含兩大類:

1、 絕對路徑

從磁碟的根目錄開始(本地絕對路徑)

windows:碟符c:/路徑/php檔案

linux:/路徑/php檔案

2、相對路徑:從當前檔案所在目錄開始的路徑

.或./ :表示當前資料夾

include './includ.php'

;include 'c:/e/server/www/includ.php'

;

乙個檔案包含另外乙個檔案,同時被包含的檔案又包含了另外乙個檔案。巢狀包含的時候就很容易出現相對路徑出錯的問題

運算子及流程控制

運算子 c語言提供一種操作的符號來計算 運算子表示式 由運算元和運算子組成的表示式 表示式結果 計算的結果 1 算術運算子 算數運算子表示式 算術結果 2 賦值運算子 左值 右值 左值必須有變數 1 溢位 大空間賦值給小空間 short in 2 不轉換型別 int float 只會整數間的賦值 f...

php 資料型別 運算子及流程控制

資料型別劃分 1.標量型別 int float string bool 2.復合型別 array object 3.特殊型別 null resource 整數型別 int integer 三種進製表示法 1.十進位制 123 2.八進位制 0123 3.十六進製制 0x123 進製的轉換 十進位制轉...

詳談運算子及流程控制語句

以後堅持一日一更,和大家分享我每天學習的成果及經驗,讓想要學習的小夥伴少走彎路。charset utf 8 title 特殊運算子 var a 1 var b c 2 var sum b a c console.log sum 2 運算子的優先順序,先括號再乘除後加減 比較運算子 var i 1 v...