日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

php basic syntax

發(fā)布時(shí)間:2024/4/14 php 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php basic syntax 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

php basic syntax

? ??? ? PHP(Hypertext Preprocessor,超文本預(yù)處理器)。


一、PHP入門(mén)

1、指令分隔符“分號(hào)”
語(yǔ)義分為兩種:一種是在程序中使用結(jié)構(gòu)定義語(yǔ)句,例如流程控制、函數(shù)定義、類(lèi)的定義等,用來(lái)定義程序結(jié)構(gòu)使用的語(yǔ)句。在結(jié)構(gòu)語(yǔ)句后面不能使用分號(hào)作為結(jié)束;
另一種是在程序中使用功能執(zhí)行語(yǔ)句,例如變量的聲明、內(nèi)容的輸出、函數(shù)的調(diào)用等,是用來(lái)在程序中執(zhí)行某些特定功能的語(yǔ)句,這種語(yǔ)句也可以成為指令,php需要在每個(gè)指令后用分號(hào)結(jié)束。
2、程序注釋
php注釋的三種形式: 以“/*”和“*/”閉合多行注釋符, “//”和"#"開(kāi)始的單行注釋符
3、在程序中使用空白的處理
下列情況應(yīng)該總是使用兩個(gè)空行:
一個(gè)源文件的兩個(gè)代碼片段之間。 兩個(gè)類(lèi)的聲明之間。
下列情況應(yīng)該總是使用一個(gè)空行:
兩個(gè)函數(shù)聲明之間。 函數(shù)內(nèi)的局部變量和函數(shù)的第一條語(yǔ)句之間。 塊注釋或單行注釋之前。 一個(gè)函數(shù)內(nèi)的兩個(gè)邏輯代碼段之間,用以提高可讀性。
空格的應(yīng)用規(guī)則:
一般用于關(guān)鍵字和括號(hào)之間,函數(shù)名與左括號(hào)間不應(yīng)使用空格。 一般函數(shù)的參數(shù)列表中的逗號(hào)后面添加空格。 數(shù)學(xué)算式的操作數(shù)與運(yùn)算符之間應(yīng)該添加空格(二進(jìn)制元算與醫(yī)院元算除外)。 for語(yǔ)句中表達(dá)式應(yīng)該用逗號(hào)分開(kāi),后面添加空格。

二、變量

第一次賦值,就創(chuàng)建了變量。必須使用"$"后跟變量名表示。再次給該變量賦值會(huì)覆蓋之前的變量。 php變量聲明以后有一定的范圍,變量的范圍即它定義的上下文背景(也就是它生效范圍)。大部分的php變量如果不是在函數(shù)里面聲明的,只有在聲明處到文件結(jié)束的一個(gè)單獨(dú)范圍內(nèi)使用。這個(gè)單獨(dú)的范圍跨度不僅是<?php ?標(biāo)記開(kāi)始處到?>結(jié)束標(biāo)記處使用,可以在一個(gè)頁(yè)面的所有開(kāi)啟的PHP模式下使用,也包含了include和require引入的文件。如果使用COOKIE或SESSION還可以在多個(gè)頁(yè)面中應(yīng)用。 在變量的使用范圍周期內(nèi),我們可以借助unset()函數(shù)釋放指定的變量,使用isset()函數(shù)檢測(cè)變量是否設(shè)置和使用empty()函數(shù)檢測(cè)一個(gè)變臉是否為空。
empty()與isset()的區(qū)別: 如果empty()函數(shù)的參數(shù)是非空或非零的值,則empty()返回false。""、0、“0”、null、false、array()、var $var、以及沒(méi)有任何屬性的對(duì)象都將被認(rèn)為是空的。如果參數(shù)為空,則返回true。 如果函數(shù)isset()參數(shù)存在,則返回true。若使用isset()檢測(cè)一個(gè)被設(shè)置成null的變量或使用unset()釋放了一個(gè)變量,都將返回false。 注意:字節(jié)NULL("\0")并不等同于null常數(shù)。 建議:使用!empty($var)判斷變量存在且不能為空。
1、變量的命名
變量名區(qū)分大小寫(xiě)。但內(nèi)置結(jié)構(gòu)和關(guān)鍵字以及用戶(hù)自定義的類(lèi)名和函數(shù)名都是不區(qū)分大小寫(xiě)的。
駝峰命名法。如:$aaaBBBccc。
2、可變變量
可變變量可使用一個(gè)普通變量的值作為這個(gè)可變變量的變量名。
3、變量的引用賦值
變量總是傳值賦值。也就是說(shuō),當(dāng)將一個(gè)表達(dá)式的值賦予一個(gè)變量時(shí),整個(gè)原始表達(dá)式的值被賦值到目標(biāo)變量。改變其中一個(gè)變量的值,將不會(huì)影響到另一個(gè)變量。
引用賦值,將“&”加到變量前。將變量的引用方式復(fù)制給新的變量,指向共同的引用,改變?nèi)魏我粋€(gè)變量的值,都會(huì)影響另一個(gè)變量。只有有名字的變量才可以引用賦值。不會(huì)將引用賦值的兩個(gè)變量在內(nèi)存上同體,只是把各自的值相關(guān)聯(lián)起來(lái),基于這一點(diǎn),unset()不會(huì)導(dǎo)致另一個(gè)變量消失。
4、變量的類(lèi)型
4種標(biāo)量類(lèi)型:boolean(布爾型)、integer(整型)、float(浮點(diǎn)型)、string(字符串) 2種復(fù)合類(lèi)型:array(數(shù)組)、object(對(duì)象) 2種特殊類(lèi)型:resource(資源)、NULL 如果想看某個(gè)表達(dá)式的值和類(lèi)型,可以使用函數(shù)var_dump()。 布爾類(lèi)型 以下值被認(rèn)為是false 1)布爾值false。 2)整型值0(零)為假,-1和其他非零值(不論正負(fù))一樣,被認(rèn)為是true。 3)浮點(diǎn)型值0.0(零)。 4)空白字符串和字符串“0” 5)沒(méi)有成員變量的數(shù)組。 6)特殊類(lèi)型NULL 整型 有最大范圍2 147 483 647 。PHP不支持無(wú)符號(hào)整數(shù),如果給定的數(shù)超出最大范圍,將會(huì)被解釋為float。 浮點(diǎn)型 永遠(yuǎn)不要比較兩個(gè)浮點(diǎn)數(shù)是否相等。 如果需要更高的精度,應(yīng)該使用任意精度數(shù)學(xué)函數(shù)或gmp()函數(shù)。 字符串 單引號(hào)字符串: 如果要在單引號(hào)中引用單引號(hào),需要使用反斜杠(\)轉(zhuǎn)義。 如果在單引號(hào)之前或字符串結(jié)尾需要出現(xiàn)一個(gè)反斜線,需要用兩個(gè)反斜線表示。 其中出現(xiàn)的變量不會(huì)被變量的值替代。即php不會(huì)解析單引號(hào)中的變量,而是將變量名原樣輸出。定義簡(jiǎn)單字符串時(shí),單引號(hào)字符串效率更高。 雙引號(hào)字符串:其中的變量會(huì)被解析。 定界符字符串: 使用定界符<<<開(kāi)始,之后提供一個(gè)標(biāo)識(shí)符,然后是包含的字符串,最后是同樣頂格書(shū)寫(xiě)的標(biāo)識(shí)符。 定界符文本處理不能初始化類(lèi)成員以外,表現(xiàn)的就和雙引號(hào)字符串一樣,只是沒(méi)有雙引號(hào)。這意味著在定界符文本中不需要轉(zhuǎn)義引號(hào),不過(guò)仍然可以用以上列出來(lái)的在雙引號(hào)中可以使用的轉(zhuǎn)義符號(hào)。而且定界符中的變量也會(huì)被解析,但當(dāng)在定界符文本中表達(dá)復(fù)雜變量時(shí)和字符串一樣同樣也需要注意。所以能夠很容易地使用定界符定義較長(zhǎng)的字符串,通常用于從文本或者數(shù)據(jù)庫(kù)中打斷地輸出文檔。 數(shù)組(Array) 使用print_r()函數(shù)查看數(shù)組中的全部?jī)?nèi)容。 對(duì)象(Object)
1 2 3 4 5 6 7 8 9 10 11 <?php ????class?Person{ ????????var?$name; ????????function?say(){ ????????????echo?"Doing foo"; ????????} ????} ????$p=new?Person(); ????$p->name="staven"; ????$p->say(); ?>
->:表示對(duì)象屬性、方法的引用 資源類(lèi)型(Resource) NULL類(lèi)型 特殊的NULL值表示一個(gè)變量沒(méi)有值,NULL類(lèi)型唯一可能的值就是NULL。NULL不表示空格,也不表示零,也不是空字符串,而是表示一個(gè)變量的值為空。NULL不區(qū)分大小寫(xiě),在下列情況下一個(gè)變量被認(rèn)為是NULL。 a)將變量直接賦值為NULL。 b)聲明的變量尚未被賦值。 c)被unset()函數(shù)銷(xiāo)毀的變量。
偽類(lèi)型
mixed:說(shuō)明一個(gè)參數(shù)可以接受多種不同的(但并不必須是所有的)類(lèi)型。例如getype()可以接受所有的php類(lèi)型,str_replace()可以接受字符串和數(shù)組。 number:說(shuō)明一個(gè)參數(shù)可以是integer或者float。 callback:有些諸如call_user_function()或usort()的函數(shù)接受用戶(hù)自定義的函數(shù)作為一個(gè)參數(shù)。callback函數(shù)不僅可以是一個(gè)簡(jiǎn)單的函數(shù),他還可以是一個(gè)對(duì)象的方法,包括靜態(tài)類(lèi)的方法。一個(gè)php函數(shù)用函數(shù)名字符串來(lái)傳遞。可以傳遞任何內(nèi)置的或者用戶(hù)自定義的函數(shù),除了array(),echo(),empty(),eval(),exit(),isset(),list(),print()和unset()。
數(shù)據(jù)類(lèi)型之間相互轉(zhuǎn)換
自動(dòng)轉(zhuǎn)換通常發(fā)生在不同數(shù)據(jù)類(lèi)型的變量混合運(yùn)算時(shí),若參加元算量的類(lèi)型不同,則顯轉(zhuǎn)換成同一類(lèi)型,然后在進(jìn)行運(yùn)算。通常只有四種標(biāo)量類(lèi)型(integer、float、string、boolean)才使用自動(dòng)類(lèi)型轉(zhuǎn)換。這并沒(méi)有改變這些運(yùn)算書(shū)本身的類(lèi)型,改變的近視這些運(yùn)算數(shù)如何被求值。自動(dòng)類(lèi)型轉(zhuǎn)換雖然石油系統(tǒng)自動(dòng)完成的,但在混合運(yùn)算時(shí),自動(dòng)轉(zhuǎn)換要遵循轉(zhuǎn)換按數(shù)據(jù)長(zhǎng)度增加的方向進(jìn)行,以保證精度不降低。 有布爾型值參與運(yùn)算時(shí),true將轉(zhuǎn)化為整型1,flase將轉(zhuǎn)化為整型0后再參與運(yùn)算。 有NULL值參與運(yùn)算時(shí),NULL值轉(zhuǎn)化為整型0在進(jìn)行運(yùn)算。 有integer型和float型參與運(yùn)算時(shí),先把integer型變量轉(zhuǎn)換成float類(lèi)型后在進(jìn)行運(yùn)算。 有字符串和數(shù)字型(integer、float)數(shù)據(jù)參與運(yùn)算時(shí),字符串先轉(zhuǎn)換為數(shù)字,在參與運(yùn)算。轉(zhuǎn)化后的數(shù)字是從字符串開(kāi)始的數(shù)值字符串,如果在字符串開(kāi)始的數(shù)值型字符串不帶小數(shù)點(diǎn)則轉(zhuǎn)換為integer類(lèi)型數(shù)字。如果帶有小數(shù)點(diǎn)則轉(zhuǎn)換為float類(lèi)型數(shù)字。 強(qiáng)制類(lèi)型轉(zhuǎn)換 再要轉(zhuǎn)換的變量之前加上用括號(hào)括起來(lái)的目標(biāo)類(lèi)型,也可以使用具體的轉(zhuǎn)換函數(shù),即intval()、floatval()、strval()或者用setType()函數(shù)轉(zhuǎn)換類(lèi)型。 intval()、floatval()、strval()強(qiáng)制類(lèi)型轉(zhuǎn)換沒(méi)有改變變量本身的類(lèi)型,而是通過(guò)轉(zhuǎn)換將得到的新類(lèi)型的數(shù)據(jù)賦值給新的變量,原變量的類(lèi)型和值不變。如果需要改變自身的類(lèi)型與值,可以使用setType()函數(shù)來(lái)設(shè)置變量的類(lèi)型。 變量類(lèi)型的測(cè)試函數(shù) is_bool():判斷是否是布爾型。 is_int()、is_integer()和is_long():判斷是否是整型。 is_float()、is_double()和is_real():判斷是否是浮點(diǎn)數(shù)。 is_string():判斷是否是字符串。 is_array():判斷是否是數(shù)組。 is_object():判斷是否是對(duì)象。 is_resource():判斷是否是資源類(lèi)型。 is_null():判斷是否為空。 is_scalar():判斷是否是標(biāo)量,也就是一個(gè)整數(shù)、浮點(diǎn)數(shù)、布爾型或字符串。 is_numberic():判斷是否是任何類(lèi)型的數(shù)字或數(shù)字字符串。 is_callable():判斷是否是有效的函數(shù)名。

三、常量

常量只能包含四種標(biāo)量數(shù)據(jù)。
常量的定義
  • define(string?namemixed value[,bool?case_insensitive]);
  • 第一個(gè)參數(shù)為常量名,第二個(gè)參數(shù)為常量的值或表達(dá)式,第三個(gè)參數(shù)是可選的,如果把case_insensitive設(shè)為true,則常數(shù)將會(huì)定義成不區(qū)分大小寫(xiě)。如果只想檢測(cè)是否定義了某常量,用defined()函數(shù)。
    預(yù)定義常量

    循環(huán)語(yǔ)句

    break
    在循環(huán)語(yǔ)句中中斷循環(huán)語(yǔ)句,也就是結(jié)束循環(huán)語(yǔ)句的執(zhí)行。 break語(yǔ)句可以將深埋在嵌套循環(huán)中的語(yǔ)句退出指定層數(shù)或直接退出最外層,break是接受一個(gè)可選的數(shù)字參數(shù)來(lái)決定跳出幾重語(yǔ)句。break可以跳出幾重循環(huán)語(yǔ)句或是幾重switch語(yǔ)句。
    continue
    continue 語(yǔ)句只能使用在循環(huán)語(yǔ)句內(nèi)部,功能是跳過(guò)該次循環(huán),繼續(xù)執(zhí)行下一次循環(huán)結(jié)構(gòu)。在while和do-while語(yǔ)句中continue語(yǔ)句跳轉(zhuǎn)到循環(huán)條件處開(kāi)始繼續(xù)執(zhí)行,對(duì)于for循環(huán)隨后的動(dòng)作是變量更新。. 接受一個(gè)可選數(shù)字參數(shù)來(lái)決定條出多重語(yǔ)句。 在循環(huán)中遇到continue語(yǔ)句后,就不會(huì)執(zhí)行該循環(huán)中位于是continue后的任何語(yǔ)句。 continue語(yǔ)句用于結(jié)束循環(huán),繼續(xù)下一次循環(huán)。
    exit
    當(dāng)前腳本只要執(zhí)行到exit語(yǔ)句,而不管它在那個(gè)結(jié)構(gòu)中都會(huì)直接退出當(dāng)前腳本。exit()是一個(gè)函數(shù),die()函數(shù)就是exit()函數(shù)的別名,可以帶有一個(gè)參數(shù)輸出一條信息,并退出當(dāng)前腳本。 函數(shù)

    ?

    總結(jié)

    以上是生活随笔為你收集整理的php basic syntax的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。