PHP基礎(chǔ)知識(shí)介紹
更新時(shí)間:2013年09月17日 16:29:27 作者:
這篇文章介紹了PHP的一些基礎(chǔ)知識(shí),有需要的朋友可以參考一下
php中的整形數(shù)是有符號(hào)的,不能表示無(wú)符號(hào)整數(shù),當(dāng)整形數(shù)超出范圍時(shí),會(huì)自動(dòng)從整形數(shù)轉(zhuǎn)化成float數(shù),可以用php_int_size常量來(lái)查看php整數(shù)類型所占字節(jié),一般為4個(gè)字節(jié),所以可以估算出整形數(shù)的范圍,最高位數(shù)符號(hào)位。也可以用php_int_max常量來(lái)查看int的最大值。
小知識(shí)點(diǎn):
1. 當(dāng)變量為0.0或“0”在布爾變量中均表示false;
2. 字符串變量用雙引號(hào)時(shí)其中變量和轉(zhuǎn)義字符可以按照其定義正常輸出,而用單引號(hào)輸出內(nèi)容時(shí)它會(huì)原樣輸出其內(nèi)容,即轉(zhuǎn)義字符或變量不會(huì)起作用,而只會(huì)原樣輸出字面內(nèi)容,這個(gè)可以自己寫(xiě)一下代碼看一下區(qū)別。個(gè)人感覺(jué)php變量的定義有點(diǎn)類似js,因?yàn)槟愀静恍枰付ㄋ魏晤愋?,它的類型完全取決于實(shí)際你使用的類型。
3. php的算術(shù)運(yùn)算符:
注意點(diǎn):除號(hào)“/ ”得到的結(jié)果可以是整數(shù)也可以是float.而不是單是整數(shù),例如 5/2 結(jié)果是2.5,而在C語(yǔ)言中結(jié)果是2。當(dāng)結(jié)果除不盡時(shí),結(jié)果顯示14位有效數(shù)字。
運(yùn)算符一共有 + 、- 、 * 、 / 、 % 五個(gè)運(yùn)算符。
連結(jié)兩個(gè)字符串的符號(hào)不是java中的+號(hào),而是 . 點(diǎn)號(hào),點(diǎn)號(hào)會(huì)自動(dòng)將前后變量看成字符串來(lái)對(duì)待。
“==”符號(hào)和”===”的區(qū)別:
“==”符號(hào)表示只有左邊和右邊的值相等才為真。
“===”符號(hào)表示左邊和右邊不但值相等,就連變量類型也應(yīng)該相等的,才會(huì)返回真。
下例:
$a=2;
$b=2.0;
上例中$a和$b 變量的值是相等的,但類型是不相等的!所有用==為真,用===則為假。
$a !== $b 表示只要a和b值不相等或者類型不相等時(shí)結(jié)果為true。
$a != $b 表示只有a 和b 的值不相等時(shí)結(jié)果為true。
$a <> $b 表示含義和 $a != $b 相同。
echo $a==$b 輸出的內(nèi)容并非是true或false。而是0和1,1代表true,0代表false。
還有>=、<=符號(hào)分別表示大于或等于、小于或等于。
||邏輯判斷有一個(gè)特殊,當(dāng)前面的判斷為true時(shí),”||”符號(hào)后面的表達(dá)式便不會(huì)執(zhí)行,這一點(diǎn)要小心!同理&&符號(hào)也有類似情況。這種現(xiàn)象稱為短路。短路與和短路或就是其中的代表 。||符號(hào)可以用or代替。同理&&符號(hào)可以用and代替。但英文的or和and還是有點(diǎn)區(qū)別:or運(yùn)算符較低,比=低。例如
$a = false || true; //a返回true;
$a = false or true; //=》 ($a = false ) or true;
var-dump($a,$b);
同理 and 符號(hào)也有類似這種情況。
類型運(yùn)算符:instanceof,用于判斷數(shù)據(jù)是否是某一類的實(shí)例,這一點(diǎn)和java類似,結(jié)果返回true或false。
++和—運(yùn)算符只針對(duì)變量,不能對(duì)常量使用!
php中的switch語(yǔ)句括號(hào)內(nèi)可以是布爾類型!而字符串“0”被看作false。default語(yǔ)句可以放在任何位置而不影響其他case語(yǔ)句的執(zhí)行順序!哪怕放在switch語(yǔ)句中的第一句。但要注意要記得寫(xiě)break語(yǔ)句。
表單提交問(wèn)題:
在火狐瀏覽器中,表單提交的方法為POST時(shí),相應(yīng)的獲得字段值得方法就是$_POST,而不是$_REQUEST,而在IE或Firefox中,不管是POST還是GET都是可以用$_REQUEST來(lái)獲得內(nèi)容的。$_REQUEST的參數(shù)對(duì)應(yīng)表單相應(yīng)Input元素的name屬性值。
php中的break語(yǔ)句不同點(diǎn):
首先必須明白什么是循環(huán)?循環(huán)就是由for、while關(guān)鍵字的大括號(hào)構(gòu)成的部分叫循環(huán),這和if語(yǔ)句的大括號(hào)是不同的,continue語(yǔ)句一般放在if語(yǔ)句中,一般就用于跳過(guò)for循環(huán)的本次循環(huán)或while循環(huán)的本次循環(huán)。千萬(wàn)不要認(rèn)為在for循環(huán)中大括號(hào)一括就代表一個(gè)循環(huán),if語(yǔ)句下的大括號(hào)就不是循環(huán)。
break語(yǔ)句后面可以帶一個(gè)數(shù)字表示跳出到第幾層循環(huán)之外,以break語(yǔ)句所在的大括號(hào)區(qū)域?yàn)榈谝粚友h(huán)。依次往外遞加,而不是從外到里遞增。但注意數(shù)字太大以至于超出最外層的循環(huán)!例如總共只有3層循環(huán),你卻要跳4層,這就會(huì)出錯(cuò)!break默認(rèn)跳出循環(huán)層數(shù)是1.
continue語(yǔ)句則用于結(jié)束本次循環(huán),跳過(guò)本次循環(huán)剩下的代碼開(kāi)始一個(gè)新的循環(huán)。
goto語(yǔ)句僅在php5.3或以上版本有效
goto的作用:用來(lái)跳出循環(huán)來(lái)代替多重循環(huán)的break語(yǔ)句。使代碼更簡(jiǎn)潔!
php中變量和常量的區(qū)別:
1. 常量前面沒(méi)有美元符號(hào)。
2. 常量通過(guò)define()函數(shù)或const定義,不能充當(dāng)賦值語(yǔ)句的左值。
3. 常量可以不理會(huì)變量所在的作用域而在任何地方使用和訪問(wèn)。
4. 常量一旦定義就不可以被重新定義或取消定義。
5. 常量的值是標(biāo)量【基本數(shù)據(jù)類型float、int、string、boolean】。
定義一個(gè)常量的兩種形式:
define("INT_MAX",255)或 const INT_MAX=255;不能再常量前加美元符號(hào),也不能重新賦值。
小知識(shí)點(diǎn):
1. 當(dāng)變量為0.0或“0”在布爾變量中均表示false;
2. 字符串變量用雙引號(hào)時(shí)其中變量和轉(zhuǎn)義字符可以按照其定義正常輸出,而用單引號(hào)輸出內(nèi)容時(shí)它會(huì)原樣輸出其內(nèi)容,即轉(zhuǎn)義字符或變量不會(huì)起作用,而只會(huì)原樣輸出字面內(nèi)容,這個(gè)可以自己寫(xiě)一下代碼看一下區(qū)別。個(gè)人感覺(jué)php變量的定義有點(diǎn)類似js,因?yàn)槟愀静恍枰付ㄋ魏晤愋?,它的類型完全取決于實(shí)際你使用的類型。
3. php的算術(shù)運(yùn)算符:
注意點(diǎn):除號(hào)“/ ”得到的結(jié)果可以是整數(shù)也可以是float.而不是單是整數(shù),例如 5/2 結(jié)果是2.5,而在C語(yǔ)言中結(jié)果是2。當(dāng)結(jié)果除不盡時(shí),結(jié)果顯示14位有效數(shù)字。
運(yùn)算符一共有 + 、- 、 * 、 / 、 % 五個(gè)運(yùn)算符。
連結(jié)兩個(gè)字符串的符號(hào)不是java中的+號(hào),而是 . 點(diǎn)號(hào),點(diǎn)號(hào)會(huì)自動(dòng)將前后變量看成字符串來(lái)對(duì)待。
“==”符號(hào)和”===”的區(qū)別:
“==”符號(hào)表示只有左邊和右邊的值相等才為真。
“===”符號(hào)表示左邊和右邊不但值相等,就連變量類型也應(yīng)該相等的,才會(huì)返回真。
下例:
$a=2;
$b=2.0;
上例中$a和$b 變量的值是相等的,但類型是不相等的!所有用==為真,用===則為假。
$a !== $b 表示只要a和b值不相等或者類型不相等時(shí)結(jié)果為true。
$a != $b 表示只有a 和b 的值不相等時(shí)結(jié)果為true。
$a <> $b 表示含義和 $a != $b 相同。
echo $a==$b 輸出的內(nèi)容并非是true或false。而是0和1,1代表true,0代表false。
還有>=、<=符號(hào)分別表示大于或等于、小于或等于。
||邏輯判斷有一個(gè)特殊,當(dāng)前面的判斷為true時(shí),”||”符號(hào)后面的表達(dá)式便不會(huì)執(zhí)行,這一點(diǎn)要小心!同理&&符號(hào)也有類似情況。這種現(xiàn)象稱為短路。短路與和短路或就是其中的代表 。||符號(hào)可以用or代替。同理&&符號(hào)可以用and代替。但英文的or和and還是有點(diǎn)區(qū)別:or運(yùn)算符較低,比=低。例如
$a = false || true; //a返回true;
$a = false or true; //=》 ($a = false ) or true;
var-dump($a,$b);
同理 and 符號(hào)也有類似這種情況。
類型運(yùn)算符:instanceof,用于判斷數(shù)據(jù)是否是某一類的實(shí)例,這一點(diǎn)和java類似,結(jié)果返回true或false。
++和—運(yùn)算符只針對(duì)變量,不能對(duì)常量使用!
php中的switch語(yǔ)句括號(hào)內(nèi)可以是布爾類型!而字符串“0”被看作false。default語(yǔ)句可以放在任何位置而不影響其他case語(yǔ)句的執(zhí)行順序!哪怕放在switch語(yǔ)句中的第一句。但要注意要記得寫(xiě)break語(yǔ)句。
表單提交問(wèn)題:
在火狐瀏覽器中,表單提交的方法為POST時(shí),相應(yīng)的獲得字段值得方法就是$_POST,而不是$_REQUEST,而在IE或Firefox中,不管是POST還是GET都是可以用$_REQUEST來(lái)獲得內(nèi)容的。$_REQUEST的參數(shù)對(duì)應(yīng)表單相應(yīng)Input元素的name屬性值。
php中的break語(yǔ)句不同點(diǎn):
首先必須明白什么是循環(huán)?循環(huán)就是由for、while關(guān)鍵字的大括號(hào)構(gòu)成的部分叫循環(huán),這和if語(yǔ)句的大括號(hào)是不同的,continue語(yǔ)句一般放在if語(yǔ)句中,一般就用于跳過(guò)for循環(huán)的本次循環(huán)或while循環(huán)的本次循環(huán)。千萬(wàn)不要認(rèn)為在for循環(huán)中大括號(hào)一括就代表一個(gè)循環(huán),if語(yǔ)句下的大括號(hào)就不是循環(huán)。
break語(yǔ)句后面可以帶一個(gè)數(shù)字表示跳出到第幾層循環(huán)之外,以break語(yǔ)句所在的大括號(hào)區(qū)域?yàn)榈谝粚友h(huán)。依次往外遞加,而不是從外到里遞增。但注意數(shù)字太大以至于超出最外層的循環(huán)!例如總共只有3層循環(huán),你卻要跳4層,這就會(huì)出錯(cuò)!break默認(rèn)跳出循環(huán)層數(shù)是1.
continue語(yǔ)句則用于結(jié)束本次循環(huán),跳過(guò)本次循環(huán)剩下的代碼開(kāi)始一個(gè)新的循環(huán)。
goto語(yǔ)句僅在php5.3或以上版本有效
goto的作用:用來(lái)跳出循環(huán)來(lái)代替多重循環(huán)的break語(yǔ)句。使代碼更簡(jiǎn)潔!
php中變量和常量的區(qū)別:
1. 常量前面沒(méi)有美元符號(hào)。
2. 常量通過(guò)define()函數(shù)或const定義,不能充當(dāng)賦值語(yǔ)句的左值。
3. 常量可以不理會(huì)變量所在的作用域而在任何地方使用和訪問(wèn)。
4. 常量一旦定義就不可以被重新定義或取消定義。
5. 常量的值是標(biāo)量【基本數(shù)據(jù)類型float、int、string、boolean】。
定義一個(gè)常量的兩種形式:
define("INT_MAX",255)或 const INT_MAX=255;不能再常量前加美元符號(hào),也不能重新賦值。
相關(guān)文章
令PHP初學(xué)者頭疼十四條問(wèn)題大總結(jié)
今天為大家奉上令PHP初學(xué)者頭疼問(wèn)題大總結(jié),下面提出的14個(gè)問(wèn)題希望對(duì)PHP初學(xué)者有所幫助。2008-11-11對(duì)squid中refresh_pattern的一些理解和建議
用于確定一個(gè)頁(yè)面進(jìn)入cache后,它在cache中停留的時(shí)間。refresh_pattern規(guī)則僅僅應(yīng)用到?jīng)]有明確過(guò)時(shí)期限的響應(yīng)。原始服務(wù)器能使用Expires頭部,或者Cache-Control:max-age指令來(lái)指定過(guò)時(shí)期限。2009-04-04PHP響應(yīng)post請(qǐng)求上傳文件的方法
這篇文章主要介紹了PHP響應(yīng)post請(qǐng)求上傳文件的方法,涉及php針對(duì)post傳輸數(shù)據(jù)處理的相關(guān)技巧,需要的朋友可以參考下2015-12-12PHP中使用asort進(jìn)行中文排序失效的問(wèn)題處理
asort() 函數(shù)對(duì)數(shù)組進(jìn)行排序并保持索引關(guān)系。主要用于對(duì)那些單元順序很重要的結(jié)合數(shù)組進(jìn)行排序??蛇x的第二個(gè)參數(shù)包含了附加的排序標(biāo)識(shí)。如果成功則返回 TRUE,否則返回 FALSE。2014-08-08php如何控制用戶對(duì)圖片的訪問(wèn) PHP禁止圖片盜鏈
這篇文章主要介紹了php如何控制用戶對(duì)圖片的訪問(wèn) PHP禁止圖片盜鏈,需要的朋友可以參考下2016-03-03php 數(shù)組排序 array_multisort與uasort的區(qū)別
其實(shí),簡(jiǎn)單的說(shuō)兩者的最重要的區(qū)別:array_multisort()排序之后,原數(shù)組“鍵”丟失。uasort()排序之后,保留原來(lái)的“鍵”。2011-03-03PHP實(shí)現(xiàn)mysqli批量執(zhí)行多條語(yǔ)句的方法示例
這篇文章主要介紹了PHP實(shí)現(xiàn)mysqli批量執(zhí)行多條語(yǔ)句的方法,結(jié)合實(shí)例形式分析了php連接mysqli并批量執(zhí)行多條語(yǔ)句的相關(guān)操作技巧,需要的朋友可以參考下2017-07-07