版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
PHP程序員測試題-答案
1.表單中g(shù)et與post提交方法的區(qū)別?
答:get是發(fā)送請求HTTP協(xié)議通過url參數(shù)傳遞進(jìn)行接收,而post是實體數(shù)據(jù),
可以通過表單提交大量信息.
2.session與cookie的區(qū)別?
答:session:儲存用戶訪問的全局唯一變量,存儲在服務(wù)器上的php指定的目錄
中的(session_dir)的位置進(jìn)行的存放
cookie:用來存儲連續(xù)^冏一個真面時所使用,是存儲在客戶端,對于Cookie
來說是存儲在用戶WIN的Temp目錄中的。
兩者都可通過時間來設(shè)置時間長短
3.數(shù)據(jù)庫中的事務(wù)是什么?
答:事務(wù)(transaction)是作為一個單元的一組有序的數(shù)據(jù)庫操作。如果組中的
所有操作都成功,則認(rèn)為事務(wù)成功,即使只有一個操作失敗,事務(wù)也不成功。如
果所有操作完成,
事務(wù)則提交,其修改將作用于所有其他數(shù)據(jù)庫進(jìn)程。如果一個操作失敗,則事務(wù)
將回滾,該事務(wù)所有操作的影響都將取消。
簡述題:
1、用PHP打印出前一天的時間格式是2006-5-1022:21:21(2分)
答:echodate('Y-m-dH:i:s*,strtotimeC-1days'));
2、echo(),print(),print_r()的區(qū)別(3分)
答:echo是PHP語句,print和print_r是函數(shù),語句沒有返回值,函數(shù)可以有返
回值(即便沒有用)
print()只能打印出簡單類型變量的值(如int,string)
print_r。可以打印出復(fù)雜類型變量的值(如數(shù)組,對象)
echo輸出一個或者多個字符串
3、能夠使HTML和PHP分離開使用的模板(1分)
答:Smarty,Dwoo,TinyButStrong,TemplateLite,Savant,phemplate,XTemplate
5、使用哪些工具進(jìn)行版本控制?(1分)
答:cvs,svn,vss;
6、如何實現(xiàn)字符串翻轉(zhuǎn)?(3分)
答:echostrrev($a);
7、優(yōu)化MYSQL數(shù)據(jù)庫的方法。(4分,多寫多得)
答:
1、選取最適用的字段屬性,盡可能減少定義字段長度,盡量把字段設(shè)置NOTNULL,
例如‘省份,性別’,最好設(shè)置為ENUM
2、使用連接(JOIN)來代替子查詢:
a.刪除沒有任何訂單客戶:DELETEFROMcustomerinfoWHEREcustomeridNOT
in(SELECTcustomeridFROMorderinfo)
b.提取所有沒有訂單客戶:SELECTFROMcustomerinfoWHEREcustomeridNOT
in(SELECTcustomeridFROMorderinfo)
c.提高b的速度優(yōu)化:SELECTFROMcustomerinfoLEFTJOINorderid
customerinfo.customerid=orderinfo.customerid
WHEREorderinfo,customeridISNULL
3、使用聯(lián)合(UNION)來代替手動創(chuàng)建的臨時表
a.創(chuàng)建臨時表:SELECTnameFROMnametestUNIONSELECTusernameFROM
nametest2
4、事務(wù)處理:
a.保證數(shù)據(jù)完整性,例如添加和修改同時,兩者成立則都執(zhí)行,一者失敗都失
敗
mysql_query("BEGIN");
mysql_query(z,INSERTINTOcustomerinfo(name)VALUES('$namel')〃;
mysql_query("SELECT*FROM'orderinfo'wherecustomerid=〃?$id〃);
mysqlquery("COMMIT");
5、鎖定表,優(yōu)化事務(wù)處理:
a.我們用一個SELECT語句取出初始數(shù)據(jù),通過一些計算,用UPDATE語句
將新值更新到表中。
包含有WRITE關(guān)鍵字的LOCKTABLE語句可以保證在UNLOCKTABLES命
令被執(zhí)行之前,
不會有其它的訪問來對inventory進(jìn)行插入、更新或者刪除的操作
mysql_query(ZZLOCKTABLEcustomerinfoREAD,orderinfoWRITE");
mysql_query(""SELECTcustomeridFROMcustomerinfowhereid=〃.$id);
mysql_query("UPDATEorderinfoSETordertitle=,$title,where
customerid=〃.$id);
mysql_query("UNLOCKTABLES");
6、使用外鍵,優(yōu)化鎖定表
a.把customerinfo里的customerid映射到orderinfo里的customerid,
任何一條沒有合法的customerid的記錄不會寫到orderinfo里
CREATETABLEcustomerinfo
(
customeridINTNOTNULL,
PRIMARYKEY(customerid)
)TYPE=INNODB;
CREATETABLEorderinfo
orderidINTNOTNULL,
customeridINTNOTNULL,
PRIMARYKEY(customerid,orderid),
FOREIGNKEY(customerid)REFERENCEScustomerinfo
(customerid)ONDELETECASCADE
)TYPE=INNODB;
注意:'ONDELETECASCADE),該參數(shù)保證當(dāng)customerinfo表中的一條記錄刪
除的話同時也會刪除0rder
表中的該用戶的所有記錄,注意使用外鍵要定義事務(wù)安全類型為
INNODB;
7、建立索弓I:
a.格式:
(普通索引)->
創(chuàng)建:CREATEINDEX〈索引名〉ONtablename(索引字段)
修改:ALTERTABLEtablenameADDINDEX[索引名](索引字段)
創(chuàng)表指定索引:CREATETABLEtablename(弓.J,INDEX[索引名](索引字段))
(唯一索引)->
創(chuàng)建:CREATEUNIQUE〈索引名〉ONtablename(索引字段)
修改:ALTERTABLEtablenameADDUNIQUE[索引名](索引字段)
創(chuàng)表指定索引:CREATETABLEtablenameUNIQUE[索引名](索引字段))
(主鍵)->
它是唯一索弓I,一般在創(chuàng)建表是建立,格式為:
CREATATABLEtablenamePRIMARYKEY[索引字段])
8、優(yōu)化查詢語句
a.最好在相同字段進(jìn)行比較操作,在建立好的索引字段上盡量減少函數(shù)操作
例子1:
SELECT*FROMorderWHEREYEAR(orderDate)<2008;(慢)
SELECT*FROMorderWHEREorderDate<"2008-01-01”;(快)
例子2:
SELECTFROMorderWHEREaddtime/7<24;(慢)
SELECT*FROMorderWHEREaddtime<24*7;(快)
例子3:
SELECT*FROMorderWHEREtitlelike"%good%〃;
SELECT*FROMorderWHEREtitle〉二〃good"andname<z,goodz,;
8、PHP的意思(送1分)
答:PHP是一個基于服務(wù)端來創(chuàng)建動態(tài)網(wǎng)站的腳本語言,您可以用PHP和HTML生
成網(wǎng)站主頁
9、MYSQL取得當(dāng)前時間的函數(shù)是?,格式化日期的函數(shù)是(2分)
答:now(),date()
10、實現(xiàn)中文字串截取無亂碼的方法。(3分)
答:functionGBsubstr($string,$start,$length){
if(strlen($string)>$length){
$str=null;
$len=$start+$length;
for($i=$start;$i<$len;$i++){
if(ord(substr($string,$i,l))>0xa0){
$str.=substr($string,$i,2);
$i++;
}else{
$str.=substr($string,$i,1);
)
)
return$str.'...';
}else{
return$string;
)
11、您是否用過版本控制軟件?如果有您用的版本控制軟件的名字是?(1分)
12、您是否用過模板引擎?如果有您用的模板引擎的名字是?(1分)
答:用過,smarty
13、請簡單闡述您最得意的開發(fā)之作(4分)
答:信息分類
14、對于大流量的網(wǎng)站,您采用什么樣的方法來解決訪問量問題?(4分)
答:確認(rèn)服務(wù)器硬件是否足夠支持當(dāng)前的流量,數(shù)據(jù)庫讀寫分離,優(yōu)化數(shù)據(jù)表,
程序功能規(guī)則,禁止外部的盜鏈,控制大文件的下載,使用不同主機(jī)分流主要
流量
15、用PHP寫出顯示客戶端IP與服務(wù)器IP的代碼1分)
答:打印客戶端IP:echo$_SERVER['REMOTE_ADDR'];或者:
getenv('REMOTE_ADDR');
打印服務(wù)器IP:echogethostbyname("www.bolaiwu.com")
16、語句include和require的區(qū)別是什么?為避免多次包含同一文件,可用(?)
語句代替它們?(2分)
答:require->require是無條件包含也就是如果一個流程里加入require,無論
條件成立與否都會先執(zhí)行require
include->include有返回值,而require沒有(可能因為如此require的速度
比include快)
注意:包含文件不存在或者語法錯誤的時候require是致命的,include不是
17、如何修改SESSION的生存時間(1分).
答:方法1:將php.ini中的session.gc_maxlifetime設(shè)置為9999重啟apache
方法2:$savePath="./session_save_dir//z;
SlifeTime=小時*秒;
session_save_path($savePath);
session_set_cookie_params(SlifeTime);
session_start();
方法3:setcookie()andsession_set_cookie_params($lifeTime);
18、有一個網(wǎng)頁地址,比如PHP開發(fā)資源網(wǎng)主頁:
http:〃www.phpres.com/index,html,如何得到它的內(nèi)容?($1分)
答:方法1(對于PHP5及更高版本):
Sreadcontents=fopen(z/http://www.phpres.com/index.html,z,〃rb〃);
Scontents=stream_get_contents($readcontents);
fclose($readcontents);
echo$contents;
方法2:
echofile_get_contents(〃http://www.phpres.com/index.htmlz,);
19、在HTTPLO中,狀態(tài)碼401的含義是(?);如果返回“找不到文件”的提示,
則可用header函數(shù),其語句為(?);(2分)
答:狀態(tài)401代表未被授權(quán),header("Location:www.xxx.php〃);
12、在PHP中,heredoc是一種特殊的字符串,它的結(jié)束標(biāo)志必須?(1分)
答:heredoc的語法是用〃〃加上自己定義成對的標(biāo)簽,在標(biāo)簽范圍內(nèi)的文字視
為一個字符串
例子:
$str=?<SH0W
mynameisJiangQihui!
SHOW;
13>談?wù)刟sp,php,jsp的優(yōu)缺點(diǎn)(1分)
答:ASP全名ActiveServerPages,是一個WEB服務(wù)器端的開發(fā)環(huán)境,利用它
可以產(chǎn)生和運(yùn)
行動態(tài)的、交互的、高性能的WEB服務(wù)應(yīng)用程序。ASP采用腳本語言VBScript
(Javascript
)作為自己的開發(fā)語言。
PHP是一種跨平臺的服務(wù)器端的嵌入式腳本語言.它大量地借用C,Java和
Perl語言的語法
,并耦合PHP自己的特性,使WEB開發(fā)者能夠快速地寫出動態(tài)生成頁面.它支持目
前絕大多數(shù)數(shù)
據(jù)庫。還有一點(diǎn),PHP是完全免費(fèi)的,不用花錢,你可以從PHP官方站點(diǎn)
(http:〃www.php.ne
t)自由下載。而且你可以不受限制地獲得源碼,甚至可以從中加進(jìn)你自己需要的
特色。
JSP是Sun公司推出的新一代站點(diǎn)開發(fā)語言,他完全解決了目前ASP,PHP
的一個通病
腳本級執(zhí)行(據(jù)說PHP4也已經(jīng)在Zend的支持下,實現(xiàn)編譯運(yùn)行).Sun公司借
助自己在Jav
a上的不凡造詣,將Java從Java應(yīng)用程序和JavaApplet之外,又有新的
碩果,就是Js
pJavaServerPage。Jsp可以在Serverlet和JavaBean的支持下,完成功
能強(qiáng)大的站點(diǎn)
程序。
三者都提供在HTML代碼中混合某種程序代碼、由語言引擎解釋執(zhí)行程序代
碼的能力。
但JSP代碼被編譯成Servlet并由Java虛擬機(jī)解釋執(zhí)行,這種編譯操作僅在
對JSP頁面的
第一次請求時發(fā)生。在ASP.PHP.JSP環(huán)境下,HTML代碼主要負(fù)責(zé)描述信息
的顯示樣式
,而程序代碼則用來描述處理邏輯。普通的HTML頁面只依賴于Web服務(wù)器,
而ASP、PH
P、JSP頁面需要附加的語言引擎分析和執(zhí)行程序代碼。程序代碼的執(zhí)行結(jié)果被
重新嵌入到
HTML代碼中,然后一起發(fā)送給瀏覽器。ASP、PHP、JSP三者都是面向Web服
務(wù)器的技術(shù)
,客戶端瀏覽器不需要任何附加的軟件支持。
14、談?wù)剬vc的認(rèn)識(1分)
答:由模型(model),視圖(view),控制器(controller)完成的應(yīng)用程序
由模型發(fā)出要實現(xiàn)的功能到控制器,控制器接收組織功能傳遞給視圖;
15、寫出發(fā)貼數(shù)最多的十個人名字的SQL,利用下表:
members(id,username,posts,pass,email)(2分)
答:SELECT*FROMmembersORDERBYpostsDESClimit0,10;
16.請說明php中傳值與傳引用的區(qū)別。什么時候傳值什么時候傳引用?(2分)
答:按值傳遞:函數(shù)范圍內(nèi)對值的任何改變在函數(shù)外部都會被忽略
按引用傳遞:函數(shù)范圍內(nèi)對值的任何改變在函數(shù)外部也能反映出這些修改
優(yōu)缺點(diǎn):按值傳遞時,php必須復(fù)制值。特別是對于大型的字符串和對象來
說,這將會是一個代價很大的操作。
按引用傳遞則不需要復(fù)制值,對于性能提高很有好處。
17.在PHP中error_reporting這個函數(shù)有什么作用?(1分)
答:設(shè)置錯誤級別與錯誤信息回報
18.請寫一個函數(shù)驗證電子郵件的格式是否正確(2分)
答:functioncheckEmail($email)
$pregEmail
,z/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,
3}([\.][a-z]{2})?/r;
returnpreg_match($pregEmai1,$email);
)
19.簡述如何得到當(dāng)前執(zhí)行腳本路徑,包括所得到參數(shù)。(2分)
$script_name=basename(_file_);print_r($script_name);
21、JS表單彈出對話框函數(shù)是?獲得輸入焦點(diǎn)函數(shù)是?(2分)
答:彈出對話框:alert0,prompt(),confirm()
獲得輸入焦點(diǎn)focus()
22、JS的轉(zhuǎn)向函數(shù)是?怎么引入一個外部JS文件?(2分)
答:window,location.href,<scripttype二〃text/javascript”
src=/,js/js_function.js〃X/script>
23、foo(MU@foo()之間有什么區(qū)別?(1分)
答:@foo()控制錯誤輸出
24、如何聲明一個名為"myclass”的沒有方法和屬性的類?(1分)
答:classmyclass{}
25、如何實例化一個名為"myclass”的對象?(1分)
答:newmyclass()
26、你如何訪問和設(shè)置一個類的屬性?(2分)
答:$object=newmyclass();
$newstr=$object->test;
$object->test=〃info〃;
27、mysql_fetch_row()和mysql_fetch_array之間有什么區(qū)別?(1分)
答:mysql_fetch_row是從結(jié)果集取出1行數(shù)組,作為枚舉
mysql_fetch_array是從結(jié)果集取出一行數(shù)組作為關(guān)聯(lián)數(shù)組,或數(shù)字?jǐn)?shù)組,兩
者兼得
28、GD庫是做什么用的?(1分)
答:gd庫提供了一系列用來處理圖片的API,使用GD庫可以處理圖片、或者生成
圖片。
在網(wǎng)站上GD庫通常用來生成縮略圖或者用來對圖片加水印或者對網(wǎng)站數(shù)據(jù)
生成報表。
29、指出一些在PHP輸入一段HTML代碼的辦法。(1分)
答:echo”〈ahref='index,php'>aaa〈/a>”;
30、下面哪個函數(shù)可以打開一個文件,以對文件進(jìn)行讀和寫操作?(1分)
(a)fget()(b)file_open0(c)fopen0(d)open_file0[c]
31,下面哪個選項沒有將john添加到users數(shù)組中?(1分)
(a)$users[]='john';
(b)array_add($users,,john');
(c)array_push($users,'john');
(d)$users||='john';[a,c]
32、下面的程序會輸入是否?(1分)
$num=10;
functionmultiply(){
$num=$num*10;
)
multiply();
echo$num;
?>
輸出:10
33、使用php寫一段簡單查詢,查出所有姓名為“張三”的內(nèi)容并打印出來(2
分)
表名User
NameTelContentDate
張專畢業(yè)2006-10-11
張三136123三331本科畢業(yè)2006-10-15
張專畢業(yè)2006-10-15
請根據(jù)上面的題目完成代碼:
$mysql_db=mysql_connect("local”,〃root〃,“pass");
@mysql_select_db(Z,DB,Z,$mysql_db);
$result=mysql_query(,ZSELECT*FROM'user'WHEREname='張三'〃);
while($rs=mysql_fetcharray($result)){
echo$rs[〃tel〃]?$rs["content']?$rs]〃date〃];
)
34、如何使用下面的類,并解釋下面什么意思?(3)
classtest{
functionGet_test($num){
$num=md5(md5($num).〃En〃);
return$num;
)
}
答:$testnum=〃123〃;
$object=newtest();
$encrypt=$object->Get_test($testnum);
echo$encrypt;
類test里面包含Get_test方法,實例化類調(diào)用方法多字符串加密
35>寫出SQL語句的格式:插入,更新,刪除(4分)
表名User
NameTelContentDate
張專畢業(yè)2006-10-11
張科畢業(yè)2006-10-15
張專畢業(yè)2006-10-15
(a)有一新記錄(小中畢業(yè)2007-05-06)請用SQL語句
新增至表中
mysql_query("INSERTINTOuser(name,tel,content,date)VALUES
('小王',,'高中畢業(yè)','2007-05-06')”)
(b)請用sql語句把張三的時間更新成為當(dāng)前系統(tǒng)時間
$nowDate=date("Ymd");
mysql_query("UPDATEuserSETdate='$nowDate.WHEREname='張
山'”);
(c)請寫出刪除名為張四的全部記錄
mysql_query("DELETEFROMuserWHEREname='張四'");
36、請寫出數(shù)據(jù)類型(intcharvarchardatetimetext)的意思;請問varchar
和char有什么區(qū)別(2分)
答:int是數(shù)字類型,char固定長度字符串,varchar實際長度字符串,datetime
日期時間型,text文本字符串
char的場地固定為創(chuàng)建表設(shè)置的長度,varchar為可變長度的字符
38、寫出以下程序的輸出結(jié)果(1分)
$b=201;
$c=40;
$a=$b>$c?4:5;
echo$a;
?>
答:4
39、檢測一個變量是否有設(shè)置的函數(shù)是否?是否為空的函數(shù)是?(2分)
答:isset($str),empty($str);
40、取得查詢結(jié)果集總數(shù)的函數(shù)是?(1分)
^:mysql_num_rows($result);
41、$arr=array('james'tom'symfony');請打印出第一個元素的值(1
分)
答:echo$array[0];
42、請將41題的數(shù)組的值用‘,’號分隔并合并成字串輸出(1分)
答:for($i=0;$i〈count($array);$i++){echo$array[$i].〃,〃;}
43、$a='abcdef';請取出$a的值并打印出第一個字母Q分)
答:echo$a{0}或echosubstr($a,0,1)
44、PHP可以和sqlserver/oracle等數(shù)據(jù)庫連接嗎?(1分)
答:當(dāng)然可以
45、請寫出PHP5權(quán)限控制修飾符(3分)
答:public(公共),private(私用),protected(繼承)
46、請寫出php5的構(gòu)造函數(shù)和析構(gòu)函數(shù)(2分)
答:_construct,_destruct
47、完成以下:
(一)創(chuàng)建新聞發(fā)布系統(tǒng),表名為message有如下字段(3分)
id文章id
title文章標(biāo)題
content文章內(nèi)容
category_id文章分類id
hits點(diǎn)擊量
答:CREATETABLE'message)(
'id'int(10)NOTNULLauto_increment,
,title'varchar(200)defaultNULL,
'content'text,
,category_id'int(10)NOTNULL,
'hits'int(20),
PRIMARYKEYCid');
)ENGINE=InnoDBDEFAULTCHARSET=utf8;
(二)同樣上述新聞發(fā)布系統(tǒng):表comment記錄用戶回復(fù)內(nèi)容,字段如下(4
分)
comment」d回復(fù)id
id文章id,關(guān)聯(lián)message表中的id
comment_content回復(fù)內(nèi)容
現(xiàn)通過查詢數(shù)據(jù)庫需要得到以下格式的文章標(biāo)題列表,并按照回復(fù)數(shù)量排
序,回復(fù)最高的排在最前面
文章id文章標(biāo)題點(diǎn)擊量回復(fù)數(shù)量
用一個SQL語句完成上述查詢,如果文章沒有回復(fù)則回復(fù)數(shù)量顯示為0
答:SELECTmessage,idid,message,titletitle,IF(message.hits'IS
NULL,0,message,hits)hits,
IF(comment.'id'isNULL,0,count(*))numberFROMmessageLEFTJOIN
commentONmessage.id=comment.idGROUPBYmessage.'id;
(三)上述內(nèi)容管理系統(tǒng),表category保存分類信息,字段如下(3分)
category_idint(4)notnullauto_increment;
categroy_namevarchar(40)notnull;
用戶輸入文章時,通過選擇下拉菜單選定文章分類
寫出如何實現(xiàn)這個下拉菜單
答:functioncategoryList()
(
$result=mysql_query(^selectcategory_id,categroy_namefrom
category")
ordie(z,Invalidquery:〃.mysql_error());
print(,,<selectname=,category'value=''〉\n〃);
while($rowArray=mysql_fetch_array($result))
{
print("〈option
value='〃?$rowArraycategory_id,]?〃'>〃?$rowArrayfcategroy_name,
option>\n/z);
print(z,</select>,,);
編程題:
1.寫一個函數(shù),盡可能高效的,從一個標(biāo)準(zhǔn)url里取出文件的擴(kuò)展名
例如:http://www.sina.com.cn/abc/de/fg.php?id=l需要取出php
或.php
答案1:
functiongetExt($url){
$arr=parse_url($url);
$file=basename($arr['path']);
$ext=explode(,z.z,,$file);
return$ext[1];
)
答案2:
functiongetExt($url){
$url=basename($url);
$posl=strpos($url,z,.,z);
$pos2=strpos($url,"?〃);
if(strstr($url,z,?z,)){
returnsubstr($url,$posl+1,$pos2-$posl-1);
}else{
returnsubstr($url,$posl);
}
)
2.在HTML語言中,頁面頭部的meta標(biāo)記可以用來輸出文件的編碼格式,以
下是一個標(biāo)準(zhǔn)的meta語句
請使用PHP語言寫一個函數(shù),把一個標(biāo)準(zhǔn)HTML頁面中的類似meta標(biāo)記
中的charset部分值改為big5
請注意:
1.需要處理完整的html頁面,即不光此meta語句
2.忽略大小寫
3.'和〃在此處是可以互換的
4.'Content-Type'兩側(cè)的引號是可以忽略的,但'text/html;
charset=gbk,兩側(cè)的不行
5.注意處理多余空格
3.寫一個函數(shù),算出兩個文件的相對路徑
如$a='/a/b/c/d/e.php';
$b='/a/b/12/34/c.php';
計算出$b相對于$a的相對路徑應(yīng)該是??/?./“<1將()添上
答:functiongetRelativePath($a,$b){
$returr)Path=array(dirname($b));
$arrA=explodeC/',$a);
$arrB=explodeC/',$returnPath[O]);
for($n=1,$len=count($arrB);$n<$len;$n++){
if($arrA[$n]!=$arrB[$n]){
break;
}
)
if($len-$n>0){
$returnPath=array_merge($returnPath,array_f111(1,$len-$n,
}
$returnPath=array_merge($returnPath,array_slice($arrA,$n));
returnimplodeC/',$returnPath);
echogetRelativePath($a,$b);
填空題:
1.在PHP中,當(dāng)前腳本的名稱(不包括路徑和查詢字符串)記錄在預(yù)定義變量
$_SERVER['PHP_SELF']_中;而鏈接到當(dāng)前頁面的URL記錄在預(yù)定義變量
_$_SERVER['HTTP_REFERER']_
中
2.執(zhí)行程序段<?phpecho8%(-2)?>將輸出_0_。
3.在HTTP1.0中,狀態(tài)碼401的含義是—;如果返回“找不到文件”的提示,
則可用header函數(shù),其語句為□
4.數(shù)組函數(shù)arsort的作用是—對數(shù)組進(jìn)行逆向排序并保持索引關(guān)系一;語句
error_reporting(2047)的作用是—報告所有錯誤和警告—。
5.PEAR中的數(shù)據(jù)庫連接字符串格式是0
6.寫出一個正則表達(dá)式,過慮網(wǎng)頁上的所有JS/VBS腳本(即把script標(biāo)記及其
內(nèi)容都去掉):preg_replace("/〈script「>].*?>.*?〈/script>/si","newinfo”,
$script);
7.以Apache模塊的方式安裝PHP,在文件http,conf中首先要用語句動態(tài)
裝載PHP模塊,然后再用語句使得Apache把所有擴(kuò)展名為php的文件都作
為PHP腳本處理。
LoadModulephp5_module"c:/php/php5apache2.dll",AddType
application/x-httpd-php.php,
8.語句include和require都能把另外一個文件包含到當(dāng)前文件中,它們的區(qū)
別是—;為了避免多次包含同一文件,可以用語句
—require_once,include_once_來代替它們。
9.類的屬性可以序列化后保存到session中,從而以后可以恢復(fù)整個類,這要
用到的函數(shù)是—=
10.一個函數(shù)的參數(shù)不能是對變量的引用,除非在php.ini中把
_allowcall_time_pass_referenceboolean_設(shè)為on.
11.SQL中LEFTJOIN的含義是—自然左外鏈接如果tbl_user記錄了學(xué)生的
姓名(name)和學(xué)號(ID),tbl_score記錄了學(xué)生(有的學(xué)生考試以后被開除了,
沒有其記錄)的學(xué)號(ID)
和考試成績(score)以及考試科目(subject),要想打印出各個學(xué)生姓名及對應(yīng)的
的各科總成績,則可以用SQL語句—o
12.在PHP中,heredoc是一種特殊的字符串,它的結(jié)束標(biāo)志必須0
編程題:
13.寫一個函數(shù),能夠遍歷一個文件夾下的所有文件和子文件夾。
答:
functionmy_scandir($dir)
I
$files=array();
if($handle=opendir($dir)){
while(($file=readdir($handle))!==false){
if($file!="&&$file!="){
if(isdir($dir..$file)){
$filesE$file]=scandir($dir."/".$file);
}else{
$files[]=$file;
)
)
)
closedir($handle);
return$files;
14.簡述論壇中無限分類的實現(xiàn)原理。
答:
<?php
/*
數(shù)據(jù)表結(jié)構(gòu)如下:
CREATETABLEcategory(
categorylDsmallint(5)unsignedNOTNULLauto_increment,
'categoryParentIDsmallint(5)unsignedNOTNULLdefault'O',
'categoryNamevarchar(50)NOTNULLdefault
PRIMARYKEY('categorylD')
)ENGINE=MyISAMDEFAULTCHARSET=gbk;
INSERTINTO'category'(categoryParentID','categoryName')VALUES
(0,'一級類別'),
(1,'二級類別'),
(1,'二級類別'),
(1,'二級類別'),
(2,'三級類別'),
(2,'333332'),
⑵'234234'),
(3,'aqqqqqd'),
(4,‘哈哈'),
(5,'66333666');
*/
〃指定分類id變量$categmy_id,然后返回該分類的所有子類
//$default_category為默認(rèn)的選中的分類
functionGet_Category($category_id=0,$level=0,$default_category=
0)
(
global$DB;
$sql="SELECT*FROMcategoryORDERBYcategorylDDESC”;
$result=$DB->query($sql);
while($rows=$DB->fetch_array($result))
(
$category_array[$rows[categoryParentID]][$rows[categorylD]]
arrayCid'=>$rows[categorylD],,parent*=>$rows[categoryParentID],
'name'=>$rows
[categoryName]);
}
if(!isset($category_array[$category_id]))
(
〃〃
return;
}
foreach($category_array[$category_id]AS$key=>$category)
if($category['id']==$default_category)
echo”〈optionselectedvalue=〃.$category['id'].〃〃;
}else
(
echo”〈optionvalue=〃.$category['id'].〃〃;
)
if($level>0)
(
echo〃>〃,str_repeat(〃〃,$level)..$categoryfname,].
/,</option>\n,/;
}
else
(
echo〃>〃.$categoryfname,].〃</option>\n〃;
}
Get_Category($key,$level+1,$default_category);
)
unset($category_array[$category_id]);
)
/*
函數(shù)返回的數(shù)組格式如下所示:
Array
(
[1]=>Array([id]=>1[name]=>一級類別[level]=>0[ParentID]=>
0)
[4]=>Array([id]=>4[name]=>二級類別[level]=>1[ParentID]=>
1)
[9]=>Array([id]=>9[name]=>哈哈[level]=>2[ParentID]=>4)
[3]=>Array([id]=>3[name]=>二級類別[level]=>1[ParentID]=>
1)
[8]=>Array([id]=>8[name]=>aqqqqqd[level]=>2[ParentID]=>
3)
[2]=>Array([id]=>2[name]=>二級類別[level]=>1[ParentID]=>
1)
[7]=>Array([id]=>7[name]=>234234[level]=>2[ParentID]=>2)
[6]=>Array([id]=>6[name]=>333332[level]=>2[ParentID]=>2)
[5]=>Array([id]=>5[name]=>三級類別[level]=>2[ParentID]=>
2)
[10]=>Array([id]=>10[name]=>66333666[level]=>3[ParentID]
=>5)
)
*/
〃指定分類id,然后返回數(shù)組
functionCategory_array($category_id=0,$level=0)
i
global$DB;
$sql="SELECT*FROMcategoryORDERBYcategorylDDESC〃;
$result=$DB->query($sql);
while($rows=$DB->fetch_array($result))
(
$category_array[$rowscategoryParentID?]][$rowsfcategoryID,]]
$rows;
1
foreach($category_arrayAS$key=>$val)
if($key==$category_id)
foreach($valAS$k=>$v)
Soptions[$k]=
array(
'id'=>SvfcategoryID,],'name'=>$v「categoryName'],'level'=>
$level,'ParentID*=>$v['categoryParentID']
);
Schildren=Category_array($k,$level+l);
if(count($chiIdren)>0)
(
Soptions=Soptions+Schildren;
}
}
)
I
unset($category_array[$category_id]);
return$options;
)
?>
<?php
classcate
functionGet_Category($category_id0,$level0,
$default_category=0)
echo$category_id;
$arr=array(
'O'=>array(
'1'=>array('id'=>1,'parent'=>0,
'name'=>Till'),
'2'=>arrayid,=>2,'parent'=>0,
'name'=>'2222'),
'4'=>array('id'=>4,'parent'=>0,'name"
=>'4444')
),
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 樹木伐移合同范本
- 外貿(mào)訂易合同范本
- 地鐵施工合同范本
- 學(xué)校3方協(xié)議書
- 團(tuán)隊住宿合同范本
- 二配分包協(xié)議書
- 不放鴿子協(xié)議書
- 不鋪地?zé)釁f(xié)議書
- 原油期貨協(xié)議書
- 外貿(mào)與工廠協(xié)議書
- 2025年度河北省機(jī)關(guān)事業(yè)單位技術(shù)工人晉升高級工考試練習(xí)題附正確答案
- 交通運(yùn)輸布局及其對區(qū)域發(fā)展的影響課時教案
- 2025年中醫(yī)院護(hù)理核心制度理論知識考核試題及答案
- GB/T 17981-2025空氣調(diào)節(jié)系統(tǒng)經(jīng)濟(jì)運(yùn)行
- 比亞迪儲能項目介紹
- 2025年9月廣東深圳市福田區(qū)事業(yè)單位選聘博士11人備考題庫附答案
- 糖尿病足潰瘍VSD治療創(chuàng)面氧自由基清除方案
- 學(xué)堂在線 大數(shù)據(jù)與城市規(guī)劃 期末考試答案
- 中國歷史地理智慧樹知到期末考試答案章節(jié)答案2024年北京大學(xué)
- MOOC 跨文化交際通識通論-揚(yáng)州大學(xué) 中國大學(xué)慕課答案
- 電力現(xiàn)貨市場基本原理課件
評論
0/150
提交評論