- 相關(guān)推薦
PHP考試復(fù)習(xí)資料
不從泥濘不堪的小道上邁步,就踏不上鋪滿鮮花的大路。以下是小編為大家搜索整理了PHP考試復(fù)習(xí)資料,希望能給大家?guī)韼椭?更多精彩內(nèi)容請及時關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
1、PHP的概念和PHP語言的優(yōu)勢。
一種應(yīng)用廣泛、功能強大的嵌入HTML中開放源代碼的腳本語言。尤其適合 WEB 開發(fā)。 特點:1.開放源代碼、支持多種數(shù)據(jù)庫,完全免費。
2.效率高:PHP消耗相當(dāng)少的系統(tǒng)資源。
3.易學(xué)易用,功能強大?缙脚_的?梢赃\行在UNIX、LINUX、WINDOWS下。
4.嵌入HTML:因為PHP可以嵌入HTML語言,學(xué)習(xí)起來并不困難。
5.PHP5是面向?qū)ο蟮摹?/p>
優(yōu)勢:1.將程序嵌入到HTML文檔中執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高;
2.在服務(wù)器端執(zhí)行,充分利用服務(wù)器的性能
3.將用戶經(jīng)常訪問的PHP程序駐留在內(nèi)存中,其他用戶再次訪問時不需要重新編譯程序,直接執(zhí)行代碼就可以。
2、PHP常用的嵌入方式
方法一:PHP標(biāo)準(zhǔn)結(jié)構(gòu),
方法二:PHP的簡短風(fēng)格,
注意:此方法需要在php.ini中去配置才能生效,開啟 short_open_tag = on
方法三:PHP的script風(fēng)格,
方法四:asp風(fēng)格,
注意:此方法需要在php.ini中去配置才能生效,開啟 asp_tags = on
3、PHP的常量和變量
變量:變量的名稱是對大小寫敏感的,正確設(shè)置方法是$var_name=value,一個有效的變量名由字母或者下劃線開頭,后面跟上任意數(shù)量的字母,數(shù)字,或者下劃線,不能包含空格。PHP5開始,長格式的PHP預(yù)定義變量可以通過設(shè)置register_long_arrays來屏蔽。 $_COOKIE,經(jīng)由 HTTP Cookies 方法提交至腳本的變量。類似于舊數(shù)組 $HTTP_COOKIE_VARS 數(shù)組(依然有效,但反對使用)。
$_FILES,經(jīng)由 HTTP POST 文件上傳而提交至腳本的變量。類似于舊數(shù)組 $HTTP_POST_FILES 數(shù)組(依然有效,但反對使用)。
$_ENV,執(zhí)行環(huán)境提交至腳本的變量。類似于舊數(shù)組 $HTTP_ENV_VARS 數(shù)組(依然有效,但反對使用)。
$_REQUEST,經(jīng)由 GET,POST 和 COOKIE 機制提交至腳本的變量,因此該數(shù)組并不值得信任。 $_SESSION,當(dāng)前注冊給腳本會話的變量。類似于舊數(shù)組 $HTTP_SESSION_VARS 數(shù)組(依然有效,但反對使用)。
REQUEST_METHOD,獲得對應(yīng)頁面方法。如:get、post
QUERY_STRING,獲取對應(yīng)頁面的請求字符串。
DOCUMENT_ROOT,獲得根目錄。
HTTP_REFERER,鏈接到當(dāng)前頁面的前一頁面的 URL 地址
REMOTE_ADDR ,正在瀏覽當(dāng)前頁面用戶的 IP 地址。 用法:$_SERVER['QUERY_STRING']
常量:標(biāo)識符大寫,大小寫敏感,在程序腳本執(zhí)行期間該值不能改變?梢杂 define() 函數(shù)來定義常量,函數(shù)的第一個參數(shù)表示常量名,第二個參數(shù)表示常量的值。常量名遵循標(biāo)識符命名規(guī)則;只能包含標(biāo)量數(shù)據(jù)(boolean,integer,float 和 string)
__LINE__,文件中的當(dāng)前行號。
__FILE__,文件的完整路徑和文件名。
__FUNCTION__,函數(shù)名稱(這是 PHP 4.3.0 新加的)。
__CLASS__,類的名稱(這是 PHP 4.3.0 新加的)。
__METHOD__,類的方法名(這是 PHP 5.0.0 新加的)
PHP_VERSION,這個是當(dāng)前 PHP 的版本,如 '3.0.8-dev'。
PHP_OS PHP,所在的操作系統(tǒng)的名字,如 'WINNT'。
E_ERROR,這個常量指到最近的錯誤處。
E_WARNING,這個量數(shù)指到最近的警告處。
E_PARSE,本常量為剖析語法有潛在問題處。
E_NOTICE,這個常式為發(fā)生不尋常但不一定是錯誤處。例如存取一個不存在的變量。
4、PHP中常見的數(shù)據(jù)類型有哪些
四種標(biāo)量類型(布爾型、整型、浮點型、字符串),兩種復(fù)合類型(數(shù)組、對象),一類特殊類型(資源、NULL)
5、PHP的字符串及常用的處理函數(shù)
A. 字符串輸出函數(shù)
(1)echo是一個語言結(jié)構(gòu),而不是一個真正的函數(shù)。
(2)print($a)輸出字符串。若成功則返回 1,失敗返回 0
(3)print_r($a)可以輸出數(shù)組,輸出成功時返回true
(4)var_dump($a)能輸出類型、長度、值
B. 去除字符串首尾空格的函數(shù): trim ltrim rtrim(別名:chop)
C. 轉(zhuǎn)義字符串函數(shù):addslashes()
D. 獲取字符串長度的函數(shù):strlen()
E. 截取字符串長度的的函數(shù):substr()
F. 檢索字符串函數(shù): strstr() , strpos()
G. 替換字符串函數(shù):str_replace()
6、PHP中函數(shù)傳遞參數(shù)的方式有哪些,兩者有什么區(qū)別
按值傳遞和按地址傳遞(或按引用傳遞)
(1)按值傳遞: 傳遞后的變量會被改變,但不影響原本的變量值。
(2)按地址傳遞: 使用 & 符號,函數(shù)體做的修改,直接影響到函數(shù)體外部的該變量的值。
7、POST和GET兩種方式的區(qū)別和聯(lián)系
Post是系統(tǒng)的默認(rèn)值,
用get方式會將表單的值顯示在url中,適合傳輸小量數(shù)據(jù)。
用post方式則不會把表單的值顯示在url中,適合大量數(shù)據(jù)的傳送。
$_GET變量和$_POST都是一個包含名稱[name]和值[value]的數(shù)組,這些名稱和值都可以利用。
8、數(shù)組的概念,數(shù)組元素的訪問和賦值,數(shù)組元素的遍歷,常見的數(shù)組運算,常見的數(shù)組函數(shù),如排序,數(shù)組合并為字符串,字符串拆分為數(shù)組等
Php中的數(shù)組實際上是一個”有序映射”。把值映射到關(guān)鍵字上。數(shù)組就是關(guān)鍵字->值的集合。Key可以是integer或者是string,而value可以是任何值。
定義“$aa=array(key=>value);訪問與賦值:$aa[key]/$aa[0];初始化$aa=array(“2”,”d”),這里是可以省略key值。
常見的數(shù)組函數(shù):
each($arr)函數(shù)生成一個由數(shù)組當(dāng)前內(nèi)部指針?biāo)赶虻脑氐逆I名和鍵值組成的數(shù)組,并把內(nèi)部指針向前移動 。
list() 一般與each()元素使用,將數(shù)組元素分解一系列的值。
count($arr); 獲得數(shù)組的個數(shù)
unset($arr[0]);刪除數(shù)組中的元素。
array_slice($arr,int offset,[int length]); 獲得數(shù)組的子集
array_unshift($arr,key=>value); 向數(shù)組開頭插入元素
array_push($arr,key=>value); 向數(shù)組結(jié)尾插入元素
array_values()函數(shù)將返回整個數(shù)組元素,并將元素中的鍵變?yōu)閿?shù)值鍵。
Sort()按值正向排序
Asort()同上,且保持關(guān)鍵字和值的對應(yīng)關(guān)系。
Rsort()反向排序。
Arsort()同上,保持關(guān)鍵字和值的對應(yīng)關(guān)系。
Ksort()按照關(guān)鍵字排序,保持對應(yīng)關(guān)系
9、PHP數(shù)組與其他語言數(shù)組的區(qū)別(PPT54)
10、文件的打開、關(guān)閉、讀寫、刪除
fopen();fclose();fread(讀);fwrite(寫);unlink(刪除文件);
file_exists(文件是否存在);kmdir(新建目錄)
11、文件上傳需要注意哪些細(xì)節(jié)?怎么把文件保存到指定目錄?怎么避免上傳文件重名問題
1.首現(xiàn)要在php.ini中開啟文件上傳;
2.在php.ini中有一個允許上傳的最大值,默認(rèn)是2MB。必要的時候可以更改;
3.上傳表單一定要記住在form標(biāo)簽中寫上enctype="multipart/form-data";
4. 提交方式 method 必須是 post;
5. 設(shè)定 type="file" 的表單控件;
6.要注意上傳文件的大小MAX_FILE_SIZE、文件類型是否符合要求,上傳后存放的路徑是否存在。
可以通過上傳的文件名獲取到文件后綴,然后使用時間戳+文件后綴的方式為文件重新命名,這樣就避免了重名。
可以自己設(shè)置上傳文件的保存目錄,與文件名拼湊形成一個文件路徑,使用move_uploaded_file(),就可以完成將文件保存到指定目錄。
12、session和cookie的概念
cookie是保存在客戶端機器的,對于未設(shè)置過期時間的cookie,cookie值會保存在機器的內(nèi)存中,只要關(guān)閉瀏覽器則cookie自動消失。如果設(shè)置了cookie的過期時間,那么瀏覽器會把cookie以文本文件的形式保存到硬盤中,當(dāng)再次打開瀏覽器時cookie值依然有效。
session是把用戶需要存儲的信息保存在服務(wù)器端。每個用戶的session信息就像是鍵值對一樣存儲在服務(wù)器端,其中的鍵就是sessionid,而值就是用戶需要存儲信息。服務(wù)器就是通過sessionid來區(qū)分存儲的session信息是哪個用戶的。
13、session和cookie的使用步驟
使用session的步驟:
1. 啟動session:使用session_start()函數(shù)來啟動。
2. 注冊會話:直接給$_SESSION數(shù)組添加元素即可。
3. 使用會話:判斷session是否為空或者是否已經(jīng)注冊,如果已經(jīng)存在則像普通數(shù)組使用即可。
4. 刪除會話:可以使用unset刪除單個session;使用$_SESSION=array()的方式,一次注銷所有的會話變量;使用session_destroy()函數(shù)來徹底銷毀session。
cookie怎么使用?
1. 記錄用戶訪問的部分信息
2. 在頁面間傳遞變量
3. 將所查看的internet頁存儲在cookies臨時文件夾中,可以提高以后的瀏覽速度。 創(chuàng)建cookie:setcookie(string cookiename , string value , int expire); 讀取cookie:通過超級全局?jǐn)?shù)組$_COOKIE來讀取瀏覽器端的cookie的值。
刪除cookie:有兩種方法1.手工刪除方法:右擊瀏覽器屬性,可以看到刪除cookies,執(zhí)行操作即可將所有cookie文件刪除。2.setcookie()方法:跟設(shè)置cookie的方法一樣,不過此時將cookie的值設(shè)置為空,有效時間為0或小于當(dāng)前時間戳。
14、session和cookie的生命周期
session
釋放指定的session變量:unset(),eg:unset($_SESSION[‘views’])
Session_destory()函數(shù)徹底終結(jié)session
Session_destory()將重置session,您將失去所有已存儲的session數(shù)據(jù)。
cookie
cookie在瀏覽器退出時就會過期,可以設(shè)置cookie的expire屬性來控制它的生存周期,cookie的終止時間是以Unix的時標(biāo)來表示的。而刪除cookie方法是把過期時間設(shè)置為一個以前的時間。Eg:setcookie(“user”,””,time()-3600);
15、session和cookie的區(qū)別
兩者最大的區(qū)別就是session存儲在服務(wù)器端,而cookie是在客戶端。session安全性更高,而cookie安全性弱。session在web開發(fā)中具有非常重要的份量。它可以將用戶正確登錄后的信息記錄到服務(wù)器的內(nèi)存中,當(dāng)用戶以此身份訪問網(wǎng)站的管理后臺時,無需再次登錄即可得到身份確認(rèn)。而沒有正確登錄的用戶則不分配session空間,即便輸入了管理后臺的訪問地址也不能看到頁面內(nèi)容。通過session確定了用戶對頁面的操作權(quán)限。
16、使用cookie的注意事項
1) setcookie()之前不可以有任何頁面輸出,就是空格,空白行也不可以;
2) setcookie()后,在當(dāng)前頁面調(diào)用$_COOKIE['cookiename']不會有輸出,必須刷新或到下一個頁面才可以看到cookie值;
3) 不同的瀏覽器對cookie處理不同,客戶端可以禁用cookie,瀏覽器也可以閑置cookie的數(shù)量,一個瀏覽器能創(chuàng)建的cookie數(shù)量最多300個,并且每個不可以超過4kb, 每個web站點能設(shè)置的cookie總數(shù)不能超過20個。
4) cookie是保存在客戶端的,用戶禁用了cookie,那么setcookie就不會起作用了。所以不可以過度依賴cookie。
17、如何設(shè)置一個cookie的名字為username,值為jack,并且讓此cookie一周后失效 setcookie(‘username’,’jack’,time()+7*24*3600);
18、如何啟動、注銷session
在標(biāo)簽前面之前使用session_start()函數(shù)以啟動session,
19、sql語句的使用
要讓php執(zhí)行上面的語句,必須使用mysql_query()函數(shù),此函數(shù)用于向MySQL連接發(fā)送查詢或命令。
創(chuàng)建表:create database “表名”,eg: create database database_name
插入數(shù)據(jù):insert into table_name(表名) eg: insert into table_name(a,b);
選取數(shù)據(jù):select column_name(“數(shù)據(jù)庫表字段名”) from table_name(“表名”); 更新數(shù)據(jù):
update table_name set colunm_name=new_value where colunm_name=some_value 刪除數(shù)據(jù):Delete from table_name where colunm_name=some_value
條件查詢:select colunm from table where colunm operator value
Eg:select column(數(shù)據(jù)庫表字段名) from table(數(shù)據(jù)庫表名) where colunm(“數(shù)據(jù)庫表字段名”) operator(運算符,eg:“+”) value(“條件值”)
數(shù)據(jù)排序:select colunm_name(s) from table_name order by colunm_name
Eg:select colunm(數(shù)據(jù)庫表字段名) from table(數(shù)據(jù)庫表名) order by colunm(數(shù)據(jù)庫表字段名)
20、連接數(shù)據(jù)庫操作的步驟是什么?每一步的返回值是什么數(shù)據(jù)類型?尤其是mysql_query()返回什么數(shù)據(jù)類型?
mysql_connect('','','');
mysql_select_db('數(shù)據(jù)庫名',$conn);
mysql_query("set names utf8");
21、mysql_pconnect()和mysql_connect()有什么區(qū)別
第一個是返回結(jié)果集中的一行作為索引數(shù)組,第二個是返回關(guān)聯(lián)數(shù)組,而第三個既可以返回索引數(shù)組也可以返回關(guān)聯(lián)數(shù)組,取決于它的第二個參數(shù) MYSQL_BOTH MYSQL_NUM MYSQL_ASSOC 默認(rèn)為MYSQL_BOTH
$sql =”select * from table1”;
$result = mysql_query($sql);
mysql_fetch_array($result, MYSQL_NUM);
22、mysql_fetch_row()、 mysql_fetch_array()、 mysql_fetch_assoc()函數(shù)的作用及區(qū)別?
這幾個函數(shù)都是用于獲取查詢的結(jié)果集,只不過獲取的方式不一樣。
mysql_fetch_row,這個函數(shù)是從結(jié)果集中取一行作為枚舉數(shù)據(jù),并作為數(shù)組返回。mysql_fetch_row() 從和指定的結(jié)果標(biāo)識關(guān)聯(lián)的結(jié)果集中取得一行數(shù)據(jù)并作為數(shù)組返回。。每個結(jié)果的列儲存在一個數(shù)組的單元中,偏移量從 0 開始。
mysql_fetch_array() 是 mysql_fetch_row() 的擴展版本。除了將數(shù)據(jù)以數(shù)字索引方式儲存在數(shù)組中之外,還可以將數(shù)據(jù)作為關(guān)聯(lián)索引儲存,用字段名作為鍵名。
mysql_fetch_assoc()函數(shù)從結(jié)果集中返回的數(shù)據(jù)以數(shù)組返回后只能以key為數(shù)組下標(biāo)。
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc不同點是
mysql_fetch_row返回的結(jié)果集只能是以0,1,2,3...這種數(shù)據(jù)索引的方式來讀取數(shù)據(jù), mysql_fetch_array返回的結(jié)果集是既有0,1,2,3這種數(shù)字下標(biāo),也有以你表字段為名
子的key
mysql_fetch_assoc返回的結(jié)果集只能以key為數(shù)組下標(biāo)
23、利用PHP開發(fā)網(wǎng)站的一般步驟
1、可行性分析;2、功能需求分析;3、數(shù)據(jù)庫設(shè)計;4、頁面設(shè)計;5、后臺程序開發(fā);
6、測試;7、發(fā)布
【PHP考試復(fù)習(xí)資料】相關(guān)文章:
PHP考試題10-08
網(wǎng)頁設(shè)計考試復(fù)習(xí)資料07-05
php正則去掉php注釋07-30
PHP試卷期末考試卷10-30
造價員考試復(fù)習(xí)資料(一)09-08
造價員考試復(fù)習(xí)資料(二)08-19
造價員考試復(fù)習(xí)資料(三)05-31
造價員考試復(fù)習(xí)資料(四)08-09
造價員考試復(fù)習(xí)資料(五)08-25