關(guān)于Php學(xué)習(xí)的有關(guān)筆記
可變變量
第一種用法
$v='age' $age=20
$v='age' 解析為 age? ? ? ?
echo $$v,'<br/>'?? 解析為$age 再解析為 20
第二種用法
預(yù)定義變量
$_POST? $_GET? $_REQUEST?? 接收 前臺數(shù)據(jù)
$_SERVER 記錄服務(wù)器端與客戶端的相關(guān)信息
$_COOKIE 一種會話技術(shù)
$_SESSION 一種會話技術(shù)
$_FILES??? 用于記錄用戶上傳的文件信息
$GLOBAL
魔術(shù)常量
__FILE__? 用于獲取當(dāng)前文件名完整路徑及文件名。
__DIR__??? 用于獲取當(dāng)前文件的路徑。
__LINE__? 用于獲取當(dāng)前行號.
__FUNCTION__ 用于獲取當(dāng)前函數(shù)的函數(shù)名.
__METHOD__?? 用于獲取當(dāng)前方法的方法名。
__CLASS__?????? 用于獲取當(dāng)前類的類名。
__NAMESPACE__ 用于獲取當(dāng)前空間的空間名。
關(guān)于進(jìn)制轉(zhuǎn)換
只能十進(jìn)制與其他進(jìn)制進(jìn)行轉(zhuǎn)換,只有六種
轉(zhuǎn)換時,參數(shù)應(yīng)是字符串(即不可含八進(jìn)制的“0”或十六進(jìn)制的“0x”)
10? ? dec
2? ? ? bin
8? ? ? oct
16? ? hex
hexdec()? ? 十六進(jìn)制轉(zhuǎn)十進(jìn)制? ? ? ? 也可寫hex2dec()
dechex()? ? 十進(jìn)制轉(zhuǎn)十六進(jìn)制? ? ? ? 也可寫dec2hex()
bindec()? ? 二進(jìn)制轉(zhuǎn)十進(jìn)制? ? ? ? 也可寫bin2dec()
decbin()? ? 十進(jìn)制轉(zhuǎn)二進(jìn)制? ? ? ? 也可寫dex2bin()
octdec()? ? 八進(jìn)制轉(zhuǎn)十進(jìn)制? ? ? ? 也可寫oct2dec()
decoct()? ? 十進(jìn)制轉(zhuǎn)八進(jìn)制? ? ? ? 也可寫dec2oct()
位運算符
按位或:? 兩個參加運算的操作數(shù)的二進(jìn)制的對應(yīng)位進(jìn)行運算,對應(yīng)的位有一個1,則最終的結(jié)果位為1,或者為0.如果都為0,最終結(jié)果為0.
1010? ||(或運算) 10100 = 11110
左移 : 對二進(jìn)制數(shù)據(jù)整體向左移指定的位數(shù),左側(cè)移出被忽略,右側(cè)補(bǔ)0。
0001? << 1? 0001?? 左移,可以快速對一個數(shù)加位
右移: 對二進(jìn)制數(shù)據(jù)整體向右移指定的位數(shù),右側(cè)移出被忽略,左側(cè)補(bǔ)0。
1100? >>1?? 0011?? 右移
按位非
對一個操作數(shù)的二進(jìn)制形式中的每一位進(jìn)行取反
按位與: 兩個參加運算的操作數(shù)的二進(jìn)制的對應(yīng)位進(jìn)行運算,對應(yīng)的位都是1,則最終的結(jié)果位為1,只有一個1或者沒有1,最終結(jié)果為0.
1010 && 0101 = 0000
echo?? 同時輸出多個字符串,帶多個參數(shù),不要求圓括號,滅有返回值
print?? 同時只能輸出一個字符串,帶一個參數(shù),圓括號括起來有返回值,執(zhí)行失敗返回FLASE
printf? 帶兩個參數(shù),第一個參數(shù)是指定輸出格式,第二個輸出變量。 %s 按字符串; %d 按整型 ;%b按二進(jìn)制;%x 按16進(jìn)制;%o 按八進(jìn)制;%f 按浮點型;
關(guān)于PHP文件的中文顯示,,一定要記下來!
header ("content-type:text/html;charset=utf-8");
__DIR__\__FILE__
__FILE__? 用于獲取文件所在完整文件名。
__DIR__ 用于獲取文件所在的路徑。
__FILE__ 與__DIR__? 并不會被引入后所更改。永遠(yuǎn)是__FILE__和__DIR__所在文件的文件名和路徑。
錯誤代碼
系統(tǒng)錯誤
E_ERROR?? 致命錯誤,一旦發(fā)生就會中斷程序的執(zhí)行。
E_WRRING? 警告錯誤,一旦發(fā)生并不會中斷程序的執(zhí)行。
E_NOTICE?? 提示錯誤,一旦發(fā)生并不會中斷程序的執(zhí)行,給提示。
E_PARSE???? 編譯錯誤,一旦發(fā)生就會中斷程序執(zhí)行。
自定義錯誤
E_USER_ERROR? 用戶級的致命錯誤,一旦發(fā)生就會中斷程序的執(zhí)行。
E_USER_WRING? 警告錯誤,一旦發(fā)生并不會中斷程序的執(zhí)行。
E_USER_NOTICE?? 提示錯誤。一旦發(fā)生并不會中斷程序的執(zhí)行。
關(guān)于函數(shù)的參數(shù)的傳遞,
按值傳遞參數(shù)
如上圖 $a 是cc 自定義函數(shù)的形參,$b是cc自定義函數(shù)的實參,調(diào)用CC($B)不會影響到$b的值,$b的初始值仍是200.
按引用傳遞參數(shù)
調(diào)用cc($b)函數(shù)時,因為使用按引用傳遞參數(shù)原因,$b的值是100,不是200了
函數(shù)的默認(rèn)函數(shù):
定義函數(shù)時聲明了參數(shù),在調(diào)用函數(shù)沒有參數(shù),就會出現(xiàn)警告,就是給參數(shù)一個默認(rèn)值,如果調(diào)用時沒有指定實參,那么就用參數(shù)的默認(rèn)值。PHP還允許數(shù)組和特殊類型null 作為默認(rèn)參數(shù)。
超全局變量
超全局變量不受作用域的限制,
$GLOBALS 超全局變量? 是一個數(shù)組,儲存了我們定義的所有全局變量。每個全局變量的變量名就是$GLOBALS數(shù)組的一個單元 ??梢栽僬麄€網(wǎng)站中使用!
全局變量 可以再整個網(wǎng)頁操作中有效,事先要先聲明一下。
。。。。。。。。。
return
在我們使用函數(shù)完成一些功能時,有時會將函數(shù)計算的數(shù)據(jù),傳遞出來。此時可以使用return
函數(shù)所處理的數(shù)據(jù)有兩個方向:
一。從外到內(nèi),使用實參與形參
二。從內(nèi)到外,使用return.
函數(shù)內(nèi)部可以有很多return ,只要遇到一個return就會中斷函數(shù)的執(zhí)行。 函數(shù)內(nèi)也可以省略return語句
系統(tǒng)函數(shù)
func_get-args();? 用于獲取實參,并以數(shù)組形式返回。
func_get_arg(ind); 用于獲取ind下標(biāo)指定的實參。
func_nnum_args();? 用于獲取實參的個數(shù)。