




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第2章PHP基本語法01認識PHP02PHP常量與變量03PHP運算符與表達式04PHP程序流程控制05第一個PHP程序
1
認識PHPPHP標記符
PHP標記符能夠讓W(xué)eb服務(wù)器識別PHP代碼的開始和結(jié)束,兩個標記之間的所有文本都會被解釋為PHP代碼,而標記之外的任何文本都會被認為是普通的HTML,這就是PHP標記的作用。PHP一共支持4種標記風(fēng)格。
XML風(fēng)格
腳本風(fēng)格
簡短風(fēng)格010203
ASP風(fēng)格04XML風(fēng)格<?phpecho"這是標準風(fēng)格的標記";?>腳本風(fēng)格<scriptlanguage="php">echo'這是腳本風(fēng)格的標記';</script>簡短風(fēng)格<?echo"這是簡短風(fēng)格的標記";?>ASP風(fēng)格<%echo"這是ASP風(fēng)格的標記";%>PHP注釋
注釋可以理解為代碼的解釋說明,一般添加到代碼的上方或代碼的尾部。使用注釋不僅能夠提高程序的可讀性,而且還有利于程序的后期維護工作。在執(zhí)行代碼時,注釋部分會被解釋器忽略,因此注釋不會影響到程序的執(zhí)行。PHP支持以下3種風(fēng)格的程序注釋:
單行注釋(//)
多行注釋(/*…*/)
Shell風(fēng)格的注釋(#)010203單行注釋(//)<?phpecho'PHP編程詞典'; //輸出字符串(但單行標記后的注釋內(nèi)容不被輸出)?>多行注釋(/*…*/)<?php/*多行注釋內(nèi)容不被輸出*/echo'只會看到這句話。';?>Shell風(fēng)格的注釋(#)<?phpecho'這是Shell腳本風(fēng)格的注釋'; #這里的內(nèi)容是看不到的?>PHP語句和語句塊
PHP程序由一條或多條PHP語句構(gòu)成,每條語句都以英文分號“;”結(jié)束。如果多條PHP語句之間存在著某種聯(lián)系,可以使用“{”和“}”將這些PHP語句包含起來形成一個語句塊。<?php{echo"你好PHP";echo"<br/>";echodate("Y-m-dH:i:s");}?>
語句塊一般不會單獨使用,只有在和條件判斷語句、循環(huán)語句、函數(shù)等一起使用時,語句塊才會有意義。
標量數(shù)據(jù)類型是數(shù)據(jù)結(jié)構(gòu)中最基本的單元,只能存儲一個數(shù)據(jù)。PHP中標量數(shù)據(jù)類型包括四種。
標量數(shù)據(jù)類型類型說明boolean(布爾型)這是最簡單的類型。只有兩個值,真值(true)和假值(false)string(字符串型)字符串就是連續(xù)的字符序列,可以是計算機能表示的一切字符的集合integer(整型)整型數(shù)據(jù)類型只能包含整數(shù)??梢允钦麛?shù)或負整數(shù)float(浮點型)浮點數(shù)據(jù)類型用來存儲數(shù)字,和整型不同的是它有小數(shù)位布爾型(boolean)
布爾型是PHP中較為常用的數(shù)據(jù)類型之一。它保存一個真值true或者假值false。設(shè)定一個布爾型的變量,只需將true或者false賦值給變量即可。字符串型(string)
字符串是連續(xù)的字符序列,由數(shù)字、字母和符號組成。字符串中的每個字符只占用一字節(jié)。定義字符串有三種方式:單引號(')雙引號(")定界符(<<<)$a='string1';$a="string2$b";$string=<<<str要輸出的字符串str整型(integer)
整型數(shù)據(jù)類型只能包含整數(shù)。在32位的操作系統(tǒng)中,有效的范圍是?2147483648~+2147483647。整型數(shù)可以用十進制、八進制和十六進制來表示。如果用八進制,數(shù)字前面必須加0,如果用十六進制,則需要加0x。浮點型(float)
浮點數(shù)據(jù)類型可以用來存儲整數(shù),也可以保存小數(shù)。它提供的精度比整數(shù)大得多。浮點型數(shù)據(jù)默認有兩種書寫格式:標準格式科學(xué)記數(shù)法格式3.141590.365?91.83.62E1859.63E?3復(fù)合數(shù)據(jù)類型復(fù)合數(shù)據(jù)類型將多個簡單數(shù)據(jù)類型組合在一起,存儲在一個變量名中,包括兩種(數(shù)組和對象)。數(shù)組(array)對象(object)特殊數(shù)據(jù)類型特殊數(shù)據(jù)類型包括兩種(資源和空值)。資源(resource)空值(null)資源是由專門的函數(shù)來建立和使用的。它是一種特殊的數(shù)據(jù)類型,并由程序員分配。在使用資源時,要及時地釋放不需要的資源。如果忘記了釋放資源,系統(tǒng)會自動啟用垃圾回收機制,避免內(nèi)存消耗殆盡??罩?,表示沒有為該變量設(shè)置任何值,另外,空值(null)不區(qū)分大小寫,null和NULL效果是一樣的。檢測數(shù)據(jù)類型PHP還內(nèi)置了檢測數(shù)據(jù)類型的系列函數(shù),可以對不同類型的數(shù)據(jù)進行檢測,判斷其是否屬于某個類型。函數(shù)檢測類型is_bool()檢測變量是否為布爾類型is_string()檢測變量是否為字符串類型is_float/is_double()檢測變量是否為浮點類型is_integer/is_int()檢測變量是否為整數(shù)is_null()檢測變量是否為nullis_array()檢測變量是否為數(shù)組類型is_object()檢測變量是否為一個對象類型is_numeric()檢測變量是否為數(shù)字或由數(shù)字組成的字符串主要內(nèi)容
print和echo
輸出運算符“<?=?>”0102print和echoprint語句和echo語句的作用非常相似,都用于向頁面中輸出數(shù)據(jù)。print"輸出當(dāng)前的日期和時間:";echodate("Y-m-dH:i:s");print語句和echo語句的區(qū)別如下:(1)使用print語句一次只能輸出一個字符串,而使用echo語句可以同時輸出多個字符串,多個字符串之間用.隔開。(2)在echo語句前不能使用錯誤屏蔽運算符“@”。(3)print語句可以看作是一個有返回值的函數(shù),因此print語句能作為表達式的一部分,而echo語句不能。輸出運算符“<?=?>”如果需要在HTML代碼中只嵌入一條PHP輸出語句,可以使用PHP提供的另一種便捷的方法:使用輸出運算符“<?=?>”來輸出數(shù)據(jù)。<bodybgcolor="<?='blue'?>"></body>什么是編碼規(guī)范
以PHP開發(fā)為例,編碼規(guī)范就是融合了開發(fā)人員長時間積累下來的經(jīng)驗,形成了一種良好統(tǒng)一的編程風(fēng)格,這種良好統(tǒng)一的編程風(fēng)格會在團隊開發(fā)或二次開發(fā)時起到事半功倍的效果。編碼規(guī)范是一種總結(jié)性的說明和介紹,并不是強制性的規(guī)則。從項目長遠的發(fā)展以及團隊效率來考慮,遵守編碼規(guī)范是十分必要的。
PHP書寫規(guī)則縮進4個字符大括號{}換行關(guān)鍵字、小括號、函數(shù)、運算符PHP命名規(guī)則類命名常量命名變量命名數(shù)組命名函數(shù)命名類文件命名2
PHP常量與變量自定義常量使用defined()函數(shù)判斷常量是否已經(jīng)被定義
使用define()函數(shù)聲明常量
使用constant()函數(shù)獲取常量的值使用define()函數(shù)聲明常量define(stringconstant_name,mixedvalue,case_sensitive)語法參數(shù)說明constant_name必選參數(shù),常量名稱,即標志符value必選參數(shù),常量的值case_sensitive可選參數(shù),指定是否大小寫敏感,設(shè)定為True,表示不敏感使用constant()函數(shù)獲取常量的值mixedconstant(stringconst_name)語法使用defined()函數(shù)判斷常量是否已經(jīng)被定義booldefined(stringconstant_name)語法預(yù)定義常量常量名功能__FILE__默認常量,PHP程序文件名__LINE__默認常量,PHP程序行數(shù)PHP_VERSION內(nèi)建常量,PHP程序的版本,如“3.0.8_dev”PHP_OS內(nèi)建常量,執(zhí)行PHP解析器的操作系統(tǒng)名稱,如“Windows”TRUE這個常量是一個真值(True)FALSE這個常量是一個假值(False)NULL一個null值E_ERROR這個常量指到最近的錯誤處E_WARNING這個常量指到最近的警告處E_PARSE這個常量指解析語法有潛在問題處E_NOTICE這個常量為發(fā)生不尋常,但不一定是錯誤處
其值可以改變的量稱為變量。變量為開發(fā)人員提供了一個有名字的內(nèi)存存儲區(qū),程序中可以通過變量名對內(nèi)存存儲區(qū)進行讀、寫操作。為了確定每個變量內(nèi)存存儲區(qū)的大小,存儲區(qū)中可以存放數(shù)據(jù)范圍,以及變量可以使用的運算符。系統(tǒng)為程序中的每一個變量分配一個存儲單元,變量名實質(zhì)上就是計算機內(nèi)存單元的命名。因此,借助變量名就可以訪問內(nèi)存中的數(shù)據(jù)。
變量的概念定義和使用變量
PHP中的變量名稱用$和標識符表示,變量名是區(qū)分大小寫的。聲明的變量不可以與已有的變量重名,否則將引起沖突。變量的名稱應(yīng)采用能反映變量含義的名稱,以利于提高程序的可讀性。如$book_name,$user_age,$shop_price等,必要時,也可以將變量的類型包含在變量名中,如$book_id_int,這樣可以直接根據(jù)變量名稱了解變量的類型。在程序中使用變量前,需要為變量賦值。變量的賦值是通過使用賦值運算符“=”實現(xiàn)的。在定義變量時也可以直接為變量賦值,此時稱之為變量的初始化。<?php
$n_sum=100;//整型
$str1=false;//布爾
$str2=“12333”;//字符串?>變量的賦值方式
直接賦值<?php$name="mingri";$number=30;echo$name;echo$number;?><?php$str1="PHP編程詞典"; $str2=$str1;$str1="我喜歡學(xué)PHP";echo$str2; //echo$str1;//?>傳值賦值<?php$str="學(xué)習(xí)PHP很輕松"; $str2=&$str;//echo$str2;$str="我要大聲的告訴你:$str";echo$str2; echo"<p>"; echo$str; ?>引用賦值可變變量
可變變量是一種獨特的變量,變量的名稱并不是預(yù)先定義好的,而是動態(tài)地設(shè)置和使用??勺冏兞恳话闶侵甘褂靡粋€變量的值作為另一個變量的名稱,所以可變變量又稱為變量的變量。可變變量通過在一個變量名稱前使用兩個“$”符號實現(xiàn)。<?php$change_name="php";$php="編程的關(guān)鍵因素在于學(xué)好語言基礎(chǔ)!";echo$change_name;echo$$change_name;//輸出php編程的關(guān)鍵因素在于學(xué)好語言基礎(chǔ)!?>PHP預(yù)定義變量
PHP還提供了很多非常實用的預(yù)定義變量,通過這些預(yù)定義變量可以獲取到用戶會話、用戶操作系統(tǒng)的環(huán)境和本地操作系統(tǒng)的環(huán)境等信息。變量的名稱說明$_SERVER['SERVER_ADDR']當(dāng)前運行腳本所在的服務(wù)器的IP地址
$_SERVER['SERVER_NAME']當(dāng)前運行腳本所在服務(wù)器主機的名稱。如果該腳本運行在一個虛擬主機上,則該名稱是由虛擬主機所設(shè)置的值決定localhost$_SERVER['REQUEST_METHOD']訪問頁面時的請求方法。如GET、HEAD、POST、PUT等,如果請求的方式是HEAD,PHP腳本將在送出頭信息后中止(這意味著在產(chǎn)生任何輸出后,不再有輸出緩沖)$_SERVER['REMOTE_ADDR']正在瀏覽當(dāng)前頁面用戶的IP地址$_SERVER['REMOTE_HOST']正在瀏覽當(dāng)前頁面用戶的主機名。反向域名解析基于該用戶的REMOTE_ADDR$_SERVER['REMOTE_PORT']用戶連接到服務(wù)器時所使用的端口$_SERVER['SCRIPT_FILENAME']當(dāng)前執(zhí)行腳本的絕對路徑名。注意:如果腳本在CLI中被執(zhí)行,作為相對路徑,如file.php或者.../file.php,$_SERVER['SCRIPT_FILENAME']將包含用戶指定的相對路徑PHP預(yù)定義變量變量的名稱說明$_SERVER['SERVER_PORT']服務(wù)器所使用的端口,默認為80。如果使用SSL安全連接,則這個值為用戶設(shè)置的HTTP端口$_SERVER['SERVER_SIGNATURE']包含服務(wù)器版本和虛擬主機名的字符串$_SERVER['DOCUMENT_ROOT']當(dāng)前運行腳本所在的文檔根目錄。在服務(wù)器配置文件中定義$_COOKIE[]通過HTTPCookie傳遞到腳本的信息。這些cookie多數(shù)是由執(zhí)行PHP腳本時通過setcookie()函數(shù)設(shè)置的$_SESSION[]包含與所有會話變量有關(guān)的信息。$_SESSION變量主要應(yīng)用于會話控制和頁面之間值的傳遞$_POST[]包含通過POST方法傳遞的參數(shù)的相關(guān)信息。主要用于獲取通過POST方法提交的數(shù)據(jù)$_GET[]$_FILES[]包含通過GET方法傳遞的參數(shù)的相關(guān)信息。主要用于獲取通過GET方法提交的數(shù)據(jù)$GLOBALS由所有已定義全局變量組成的數(shù)組。變量名就是該數(shù)組的索引。它可以稱得上是所有超級變量的超級集合3PHP運算符與表達式算術(shù)運算符名稱操作符實例加法運算+$a+$b減法運算-$a-$b乘法運算*$a*$b除法運算/$a/$b取余數(shù)運算%$a%$b字符串運算符
字符串運算符只有一個,即英文的句號“.”。它將兩個或多個字符串連接起來,結(jié)合到一起形成一個新的字符串。而PHP中的“+”號只做賦值運算符使用,而不能做字符串運算符。<?php $m=“d520abc";$n=1;$mn=$m.$n;echo$mn.“<br>”;
//輸出520abc1換行$nm=$m+$n;echo$nm.“<br>”;//輸出1?>賦值運算符操作符號實例展開形式意義賦值=$a=$b$a=$b將右邊的值賦給左邊加+=$a+=$b$a=$a+$b將右邊的值加到左邊減-=$a-=$b$a=$a-$b將右邊的值減到左邊乘*=$a*=$b$a=$a*$b將左邊的值乘以右邊除/=$a/=$b$a=$a/$b將左邊的值除以右邊連接字符.=$a.=$b$a=$a.$b將右邊的字符加到左邊取余數(shù)%=$a%=$b$a=$a%$b將左邊的值對右邊取余數(shù)位運算符符號作用實例&按位與$m&$n|按位或$m|$n^按位異或$m^$n~按位取反$m~$n<<向左移位$m<<$n>>向右移位$m>>$n遞增或遞減運算符
遞增或遞減運算符有兩種使用方法,一種是將運算符放在變量前面,即先將變量作加一或減一的運算后再將值賦給原變量,叫做前置遞增或遞減運算符;另一種是將運算符放在變量后面,即先返回變量的當(dāng)前值,然后變量的當(dāng)前值作加一或減一的運算,叫做后置遞增或遞減運算符。$i=1$i++++$i邏輯運算符運算符實例結(jié)果為真&&或and(邏輯與)$m&&$n當(dāng)$m和$n都為真時||或or(邏輯或)$m||$n當(dāng)$m為真或者$n為真時xor(邏輯異或)$mxor$n當(dāng)$m、$n一真一假時!(邏輯非)!$m當(dāng)$m為假時比較運算符運算符實例結(jié)果為真<小于$m<$n>大于$m>$n<=小于等于$m<=$n>=大于等于$m>=$n==相等$m==$n!=不等$m!=$n===恒等$m===$n!==非恒等$m!==$n條件運算符表達式1?表達式2:表達式3語法<?php$value=100;echo($value==true)?“表達式正確”:“表達式不正確”;//輸出?>運算符優(yōu)先級優(yōu)先級別(從低到高)運算符1or,and,xor2賦值運算符3?:4||,&&5|,^6&7==,!=,===,!==8<,<=,>,>=9<<,>>10+,-,.11*,/,%12!,~13++,--4
表達式表達式
將運算符和操作數(shù)連接起來的式子稱為表達式。表達式是構(gòu)成PHP程序語言的基本元素,也是PHP最重要的組成元素。根據(jù)運算符的不同,表達式可以分為算術(shù)表達式、字符串表達式、關(guān)系表達式、賦值表達式以及邏輯表達式等。
<?php$a="php";$b
+=1;?><?php$b=$a=
8;?>4
流程控制語句if語句if(expr) statement;語法if(expr){statement1;statement2;…}流程圖if…else語句語法1if(expr){statement1;}else{statement2;}流程圖if…else語句語法2if(expr1){statement1;}elseif(expr2){statement2;}…else{statementn;}流程圖switch語句語法switch(variable){casevalue1: statement1; break;casevalue2:…default: defaultstatementn;}流程圖while循環(huán)語句語法while(expr){statement;}流程圖do…while循環(huán)語句語法do{statement;}while(expr);流程圖for循環(huán)語句語法for(expr1;expr2;expr3){ statement;}流程圖foreach循環(huán)語法1foreach(array_expressionas$value){statement;}語法2foreach(array_expressionas$key=>$value){
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國燃氣安全閥行業(yè)市場調(diào)研及未來發(fā)展趨勢預(yù)測報告
- 【高二化學(xué)芳香烴知識點】高二化學(xué)知識點總結(jié)
- 婚禮策劃行業(yè)市場全景評估及投資前景展望報告
- 【英語】數(shù)詞知識點總結(jié)經(jīng)典
- 村文化中心新建項目可行性研究報告-商業(yè)計劃書
- 【5A文】番茄粉生產(chǎn)項目可行性研究報告
- 進口食品項目風(fēng)險評估報告
- 2025年石英玻璃纖維布項目發(fā)展計劃
- 飯?zhí)醚b修合同范本
- 2019-2025年中國股權(quán)式酒店行業(yè)未來發(fā)展趨勢分析及投資規(guī)劃建議研究報告
- 2025年臨床醫(yī)師定期考核必考復(fù)習(xí)題庫及答案(1060題)
- 市場消防安全課件
- 名師工作室建設(shè)課件
- 2025-2025學(xué)年度人教版小學(xué)五年級美術(shù)下冊教學(xué)計劃
- 《電力建設(shè)工程施工安全管理導(dǎo)則》(NB∕T 10096-2018)
- 2024-2025學(xué)年廣東省部分學(xué)校高一(上)第一次聯(lián)合考試物理試卷(含答案)
- 《黃色新聞的泛濫》課件
- 2024年山東省公務(wù)員考試《行測》真題及答案解析
- 化工原理Ⅱ?qū)W習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024-2025學(xué)年初中體育與健康九年級全一冊人教版(2024)教學(xué)設(shè)計合集
- 環(huán)保產(chǎn)業(yè)政策及市場發(fā)展趨勢分析研究
評論
0/150
提交評論