|
1.開始結(jié)束標(biāo)記 ? ... ? 2.定義變量: $變量名 例: $str= 錦清筍 不需要指明數(shù)據(jù)類型 3.輸出語句: (1)ech hell rld~ ---ech命令 (2)print;輸出語句,是函數(shù),有返回值。輸出成功返回1,失 敗返回0。 (3)printf;格式化輸出字符串。例: printf( %d,%f ,12,12.3); (4)sprintf;格式化拼接字符串,不是輸出語句,只能將字符串?? 拼接。 (5)print_r;輸出數(shù)組、對象等復(fù)合數(shù)據(jù)類型 4.數(shù)據(jù)類型: (1)簡單數(shù)據(jù)類型: Blean 布爾型 string 字符串型 integer 整型 flat 浮點型 (2)復(fù)合數(shù)據(jù)類型: array 數(shù)組 bject 對象 (3)特殊數(shù)據(jù)類型: ??resurce 資源 null 空值 5.數(shù)據(jù)類型轉(zhuǎn)換: 在變量前加上括號括起來的類型名稱即可。 6.檢測數(shù)據(jù)類型: is_bl 檢查變量是否是布爾類型 is??_string .... is_flat或is_duble .... is_integer 或 is_int .... is_null .... is_array .... is_bject .... i??s_numeric 檢測變量是否為數(shù)組或由數(shù)字組??成的字符串 7.聲明和使用常量: ??定義語法: define(‘PRICE’,100); ech PRICE; 8.變量作用域: 局部變量: 即在函數(shù)的內(nèi)部定義的變量,其作用域是所在的函數(shù) 全局變量: 即被定義在所有函數(shù)以外的變量,??其作用域是整個php文件,但是在用戶定義的函數(shù)內(nèi)部不可用。想在用戶定義的函數(shù)內(nèi)部使用全局變量,要??使用glbal關(guān)鍵詞聲明。 例: $a=123; functin test { gl??bal $a; ech $a; } 靜態(tài)變量: 能夠在函數(shù)調(diào)用結(jié)束后仍保留變量值,當(dāng)再次回到其作用域時,又可以繼續(xù)使用原來的值。使用靜態(tài)變量時,先要用??關(guān)鍵字static??來聲明變量,需要把關(guān)鍵字static??放在要定義的變量之前。 9.預(yù)定義變量: 通過預(yù)定義變量可以獲取用戶會話、用戶操作系??統(tǒng)的環(huán)境和本地操作系統(tǒng)的環(huán)境等信息。如: ?? $GLBALS,$_SERVER,$_GET,$_PST,$_REQUEST,$_CKIE,$_SESSIN,$_FI??LES. 10.字符串運算符: 句號: “.”;連接字符串 特別是拼寫sql語句時: .$變量名. 1 1.邏輯運算符: 邏輯異或: ^或xr 當(dāng)一個為真,一個為假時,結(jié)果為真,其他為假。 恒等: === 優(yōu)先級: ||在and之前,r在and之后。 1 2.@錯誤屏蔽: @錯誤屏蔽運算符可以對程序中出現(xiàn)錯誤的表達(dá)式進(jìn)行操作,進(jìn)而對錯誤進(jìn)行屏蔽,其使用的方法就是在錯誤的表達(dá)式前加“@”即可。它只是對錯誤信息進(jìn)行屏蔽,并沒有真正解決錯誤。 1 3.定義和調(diào)用函數(shù): 函數(shù)名不區(qū)分??大小寫 functin test($var1,$var2) { 函數(shù)體 } test($var1,$var2); 函數(shù)的返回值: 使用retur??n返回單個值,和使用list()語言結(jié)構(gòu)返回多個??值。 傳值調(diào)用: $變量名 傳址調(diào)用??: $變量名 1 4.Frm??表單: 兩種提交方式: get: 將表單數(shù)據(jù)當(dāng)做url的一部分傳過去;url格式: 地址:端口/目錄/文件?var1=value1 ...varn=valuen最長1024k pst: 相比get而言,??更安全,并不會導(dǎo)致因數(shù)據(jù)過長而引起url的數(shù)據(jù)丟失 使用超鏈接傳值時必須用get來接收: a href= user_add.php?uid= ?=$uid? ADD /a 接收: $uid=$_GET[ uid 注意: ?=...? 的格式只有在沒有判斷語句時才能使用。 對表單傳遞??的變量進(jìn)行編碼和解碼: PHP中實現(xiàn)對查詢字符串進(jìn)行URL編碼可以通過函數(shù)urlencde實現(xiàn),該函數(shù)的使用格式如下: string urlen??cde(string str);對URL編碼后的??查詢字符串進(jìn)行解碼,可以通過urldecde函數(shù)實現(xiàn),該函數(shù)的使用格式如下: string ur??ldecde(string str); 1 5.P??HP連接數(shù)據(jù)庫: 步驟: 一、建立連接------mssql_cnnect(serve??r,uid,pd); 二、指定database-------mss??ql_select_db(databasename); 三、執(zhí)行sql------mssql_query($sql,$link); 四、處理記錄集-------資源類型數(shù)據(jù),格式:bf---數(shù)據(jù)---ef 五、以特定格式讀取數(shù)據(jù)-----mssql_fetch_array.... 六、釋放相關(guān)資源、關(guān)閉連接 ------mssql_free_result($result);mssql_clse; 1 6.數(shù)組: php的數(shù)組由鍵值和val??ue值組成 定義: $array = array( 鍵值 = value , 鍵值 = value , 鍵值 = value 如果不給鍵值賦值,默認(rèn)從0開始的int值 相關(guān)函數(shù): (1)in_array( 值 ,數(shù)組名); 返回bl型-----查看數(shù)組中是否存在某value值 (2)array_key_exists( key值 ,數(shù)組名); 返回bl型-----查看數(shù)組中是否存在某鍵值 (3)array_keys(數(shù)組名);---將數(shù)組鍵值返回出來形成一個新數(shù)組,此鍵值作為新數(shù)組的value值 (4)array_values(數(shù)組名);---將數(shù)組value值返回出來形成一個新數(shù)組,此值作為新數(shù)組的value值 (5)key(數(shù)組名);----返回當(dāng)前指針指向的元素key值 (6)current(數(shù)組名);----返回當(dāng)前指針指向的元素value值 (7)next(數(shù)組名);----挪動當(dāng)前數(shù)組指針到下一步 (8)rese??t(數(shù)組名);----恢復(fù)數(shù)組指針,指向第0個元素 (9)end(數(shù)組名);----將指針挪向最后一個元素 (10)prev(數(shù)組名);----將指針向前挪動一位 (11)freach(數(shù)組名 as $key= $value) { $key是鍵值??,$value是value值,實現(xiàn)數(shù)組遍歷 } (12)each(數(shù)組名);----將當(dāng)前數(shù)組元素依次取出(自動挪動指針)并放到一個新的數(shù)組中 (13)array_shift??(數(shù)組名);----返回數(shù)組中第一個元素值 (14)array_pp(數(shù)組名);----返回數(shù)組最后一個元素值 (15)array_push(數(shù)組名,value);----向數(shù)組中追加元素 (16)array_unshift(數(shù)組名,value);----在數(shù)組最前面添加元素 (17)array_pad(數(shù)組名,數(shù)組長度,value);----向數(shù)組中追加多個元素,對數(shù)組副本操作,不改變原數(shù)組,返回一個新數(shù)組 (18)cunt;----返回個數(shù) (19)array_unique(數(shù)組名);----去掉數(shù)組中重復(fù)部分,操作數(shù)組副本,不改變原數(shù)組,返回新數(shù)組 (20)srt(數(shù)組名);----從小到大升序排列數(shù)組value值,一般針對int型value值,返回bl型,成功返回true (21)rsrt(數(shù)組名);----從大到小,逆??序排列數(shù)組value值 (22)array_bine(數(shù)組1,數(shù)組2);----將數(shù)組1的value值作為key,數(shù)組2的value值作為value值,形成一個新數(shù)組 (23)array_me??rge(數(shù)組1,數(shù)組2,數(shù)組 3...);----合并多個數(shù)組,將多??個數(shù)組value值依次合并,合為一個數(shù)組 (24)array_slice(數(shù)組名,int,int);----從目標(biāo)數(shù)組截取元素,形成一個新數(shù)組。??開始位置為第二個參數(shù),結(jié)束位置為第三??個參數(shù)。若第三個參數(shù)不寫,則默認(rèn)是截取到最后。 (25)array_splice;----用法同array_slice;但是其截取部分從原數(shù)組中??刪除 (26)explde( 字符依據(jù) ,目標(biāo)字符串);----將字符串按照一??定的依據(jù)拆分成數(shù)組 (27)implde( 字符依據(jù) ,目標(biāo)數(shù)組);----將數(shù)組元素按照依據(jù)組合成一個字符??串 (28)range(mixed l,mixed high[numbe??r step]);----生成數(shù)組,例: range(1,100,8);??---即從1到100,每8位取一個數(shù),組成一個數(shù)組 (29)shuffle(數(shù)組名);----用于將數(shù)組進(jìn)行隨機排序 (30)array_sum(數(shù)組名);----對數(shù)值型數(shù)組元素值進(jìn)行求和 (31)array_chunk(數(shù)組名,int);----分割目標(biāo)數(shù)組,返回一??個新數(shù)組,其中數(shù)組的每個元素都是一個一維數(shù)組,int參數(shù)為分割成的一維數(shù)組的長度 1 7.Ckie和會話控制: Ckie是在HTTP協(xié)議下,服務(wù)器或腳本可以維護(hù)客戶工作站上信??息的一種方式。Ckie是由eb服務(wù)器??保存在客戶機上的小文本文件,它可以包含有關(guān)用戶的信息。無論何時用戶鏈接到服務(wù)器,eb站點都可以訪問Ckie信息。 存在server端的是sess??in,存在client端的是ckie,它們用來存儲全局變量。 設(shè)定Ckie值: setckie( 名 , 值 通過Ckie數(shù)組取值: $_ckie[ 名 設(shè)置生成期: setckie( 名 , 值 ,time+1??800);生成期為當(dāng)前時間加1800秒之后。 刪除ckie: setckie( 名 , ,time-3600);中間值設(shè)置為空,并將當(dāng)前時間減去3600秒。 Ckie數(shù)組: set??ckie( 名[key] , 值 使用freach讀取。 在PHP中可以通過$_CKIE預(yù)定義變量訪問Ckie的值。如果??設(shè)置了php.ini中的register_lng_arrays,那么就能夠應(yīng)用$_CKIE和$HTTP_CKIE_VARS;如果在php.ini中還設(shè)置了register_glbals,那么就可以在PHP中作為全局變量使用各個Ckie值。但是,更改php.ini中的兩個文件設(shè)??置,容易對PHP的安全構(gòu)成威脅,不推薦使用該方法,建議使用更??新的$_CKIE。 會話ID的傳送 會話ID的傳送有兩種方式,一種是Ckie方式,另一種是URL方式。 Ckie傳送方式: 這是最簡單的會話方式,但是有些客戶可能限制使用Ckie,如果客戶限制使用Ckie的條件下,仍要繼續(xù)工作,那就要通過其他方??式來實現(xiàn)了。 URL傳送方式: 在該方式中,URL本身用來傳送會話,會話標(biāo)志被簡單地附加到URL的尾部,或者作為窗體中??的一個變量來傳遞。例: a href= user_add.php?uid= ?=$uid? ADD /a 會話ID的生成: PHP的會話函數(shù)會自動處理ID的創(chuàng)建,但也可以通過手工方式創(chuàng)建會話ID。它必須是不容易被人猜出來的,否則有安全隱患。 一般推薦生成會話ID使用隨機數(shù)發(fā)生器函數(shù)srand,函數(shù)聲明如下: ??srand((duble)micrtime*1000000); 在調(diào)用該??函數(shù)后,要想生成一個唯一的會話ID,還必須使用下面的語句: ?? md5(unique(rand)); Sessin會話: 創(chuàng)建會話的步驟: 啟動一個會話,注冊會話變量,使用會話變量和注銷會話變量。 (1)啟動一個會話: 通過sessin_start;函數(shù)創(chuàng)??建會話,函數(shù)聲明為: bl sessin_??start(vid); 》通過設(shè)置php.ini自動創(chuàng)建會話: 設(shè)置php.ini中的sessin.aut_start選項,激活該選??項即可自動創(chuàng)建會話(配置值改為1),但是使用該方??法啟動aut_start會導(dǎo)致無法使用對象作為會話變量。 (2)注冊會話變量: 會話變量被啟動后,全部保存在數(shù)組$_sessin中。通過數(shù)組$_sessin,直接給該數(shù)組提添加一個元素即可創(chuàng)建一個會話變量: $_sessin[sessin_name]=sessin_value; (3)使用會話變量: if(!empty($_sessin[sessi??n_name])){$myvalue=$_??sessin??[sessin_name]} (4)注銷會話變量: 注銷某個sessin成員: unset($_sessin[sessi??n_name]) 注銷所有會話功能: $_sessin=array;然后使用sessin_destry;函數(shù)清除會話ID。 1 8.字符串處理: (1)獲取字符串長??度: int strlen($str); (2)將指定字符串轉(zhuǎn)換成大寫: strtupper($str); (3)將首字母轉(zhuǎn)換成大寫: ucfirst($s??tr); (4)字符串與HTMl相互轉(zhuǎn)換: htmlspecialchars($st??r);----將字符串中某些特殊字符轉(zhuǎn)化成html格式 (5)去除字符串的空格: trim---去兩遍空格,ltrim----去左邊空格,rtrim----去右邊??空格 (6)substr_cunt($str, value 查詢某字符在目標(biāo)字??符串中出現(xiàn)的個數(shù) (7)strps($str, value ----定位字符位置,返回int (8)防止單引號破壞sql語句: 自動轉(zhuǎn)義函數(shù): addslashes; ?php $str = Is yur name reilly? // 輸出: Is yur name reilly? ech addslashes($str); ? (9)截取字符串: substr($str,start_int,end_int)??;---return $nestr (10)填充字符串: stri??ng str_pad ( string input, int pad_length ??[, string pad_string [, int pad_type]] ) 例: <?php $input = Alien ech str_p??ad($input, 10); // prduces Alien ech str_p??ad($input, 10, -= , STR_PAD_LEFT); // prdu??ces -=-=-Alien ech str_pad($input, 10, _ , STR_PAD_BTH); // prduces __Alien___ ??ech str_pad($input, 6 , ___ // prduces Ali??en_ ? (11)字符串的比較: int strcmp ( ??string str1, string str2 )----按逐個字符的ascll碼進(jìn)行比較,如果返回等于0,則相等;大于0,則str1大于str2;小于0,則str1小于str2。 (12)數(shù)字字符串的格式化??: string number_frmat ( flat number ??[, int decimals [, string dec_pint, string thusands_sep]] ) 該函數(shù)可以有1個,2個,或4個參數(shù),但不能使三個。decimals意思是取小數(shù)點后幾位,dec_pint用來代替小數(shù)點,thusands_sep用來代替千位分隔符。 (13)查找和替換: 查找: string strstr ( string haystack, string needle ) 例: ?php $email = user@example. $dmain = strstr($email, @ ech $dmain; // prints @example. ??? 替換: mixed str_replace ( mixed search, mixed replace, mixed subject [, int c??unt] )----區(qū)分大小寫
信息發(fā)布:廣州名易軟件有限公司 http://www.jetlc.com
|