Php面試寶典100題匯總_第1頁(yè)
Php面試寶典100題匯總_第2頁(yè)
Php面試寶典100題匯總_第3頁(yè)
Php面試寶典100題匯總_第4頁(yè)
Php面試寶典100題匯總_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——Php面試寶典100題匯總Php面試100題匯總

1,Http和Https的區(qū)別

第一:http是超文本傳輸協(xié)議,信息是明文傳輸,https是具有安全性的ssl加密傳輸協(xié)議

其次:http和https使用的是完全不同的連接方式,端口也不一樣,前者80或者443第三:http連接很簡(jiǎn)單,是無(wú)狀態(tài)的。https協(xié)議是由ssl+http協(xié)議構(gòu)建的可進(jìn)行加密傳輸,身份認(rèn)證的網(wǎng)絡(luò)協(xié)議。2.什么方法來(lái)加快頁(yè)面的加載速度

1,用到服務(wù)器資源時(shí)在開(kāi)啟,不用時(shí),馬上關(guān)閉服務(wù)器資源。2,數(shù)據(jù)庫(kù)添加索引3,頁(yè)面可生成靜態(tài)

4,圖片等大文件單獨(dú)放在一個(gè)服務(wù)器

5,能不查詢數(shù)據(jù)庫(kù)的盡量不去數(shù)據(jù)取數(shù)據(jù),可以放在緩存中。3.表單中g(shù)et與post提交方法的區(qū)別?

答:get是發(fā)送請(qǐng)求HTTP協(xié)議通過(guò)url參數(shù)傳遞進(jìn)行接收,而post是實(shí)體數(shù)據(jù),可以通過(guò)表單提交大量信息.

4.echo,print,print_r的區(qū)別:

echo是php語(yǔ)句,無(wú)返回值。print,print_r是函數(shù),有返回值。

print()只能打印出簡(jiǎn)單類型變量的值(如int,string)print_r()可以打印出繁雜類型變量的值(如數(shù)組,對(duì)象)echo輸出一個(gè)或者多個(gè)字符串5.session與cookie區(qū)別

session與cookie一致:跨頁(yè)面、不跨用戶session與cookie不一致:

1、session可以存儲(chǔ)任意類型的數(shù)據(jù),但cookie只能存儲(chǔ)字符串2、cookie產(chǎn)生在服務(wù)器端、存儲(chǔ)在客戶端session產(chǎn)生在服務(wù)器端、存儲(chǔ)在服務(wù)器端6.魔術(shù)常量答案:

__LINE__文件中的當(dāng)前行號(hào)。__FILE__文件的完整路徑和文件名。__FUNCTION__函數(shù)名稱__CLASS__類的名稱__METHOD__類的方法名

第1頁(yè)共1頁(yè)

7.數(shù)據(jù)庫(kù)中的事務(wù)是什么?

答:事務(wù)(transaction)是作為一個(gè)單元的一組有序的數(shù)據(jù)庫(kù)操作。假使組中的所有操作都成功,則認(rèn)為事務(wù)成功,即使只有一個(gè)操作失敗,事務(wù)也不成功。假使所有操作完成,事務(wù)則提交,其修改將作用于所有其他數(shù)據(jù)庫(kù)進(jìn)程。假使一個(gè)操作失敗,則事務(wù)將回滾,該事務(wù)所有操作的影響都將取消。8.1優(yōu)化MYSQL數(shù)據(jù)庫(kù)的方法。1、選擇適合的字段的數(shù)據(jù)類型1)能用數(shù)字不用字符串

2)char、varchar、text能用varchar不用char

3)給字段加notnull避免在表中出現(xiàn)NULL關(guān)鍵字(default值)2、選擇適合的字段充當(dāng)主鍵1)建議每張表必需有主鍵2)用數(shù)字類型的字段充當(dāng)主鍵3、拆分表

1)拆分字段,將文章的標(biāo)題與內(nèi)容分開(kāi)2)拆分記錄,將今年的記錄與往年的記錄分開(kāi)4、給字段合理添加索引

a.格式:(普通索引)->

創(chuàng)立:CREATEINDEXONtablename(索引字段)修改:ALTERTABLEtablenameADDINDEX[索引名](索引字段)

創(chuàng)表指定索引:CREATETABLEtablename([...],INDEX[索引名](索引字段))(唯一索引)->

創(chuàng)立:CREATEUNIQUEONtablename(索引字段)修改:ALTERTABLEtablenameADDUNIQUE[索引名](索引字段)

創(chuàng)表指定索引:CREATETABLEtablename([...],UNIQUE[索引名](索引字段))(主鍵)->

它是唯一索引,一般在創(chuàng)立表是建立,格式為:

CREATATABLEtablename([...],PRIMARYKEY[索引字段])5、事務(wù)處理:

a.保證數(shù)據(jù)完整性,例如添加和修改同時(shí),兩者成立則都執(zhí)行,一者失敗都失敗mysql_query(\

mysql_query(\mysql_query(\mysql_query(\6、鎖定表,優(yōu)化事務(wù)處理:

a.我們用一個(gè)SELECT語(yǔ)句取出初始數(shù)據(jù),通過(guò)一些計(jì)算,用UPDATE語(yǔ)句將新值更新

第2頁(yè)共2頁(yè)

到表中。

包含有WRITE關(guān)鍵字的LOCKTABLE語(yǔ)句可以保證在UNLOCKTABLES命令被執(zhí)行之前,不會(huì)有其它的訪問(wèn)來(lái)對(duì)inventory進(jìn)行插入、更新或者刪除的操作mysql_query(\mysql_query(\mysql_query(\customerid=\

mysql_query(\7、使用外鍵,優(yōu)化鎖定表

a.把customerinfo里的customerid映射到orderinfo里的customerid,任何一條沒(méi)有合法的customerid的記錄不會(huì)寫到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表中的一條記錄刪除的話同時(shí)也會(huì)刪除order

表中的該用戶的所有記錄,注意使用外鍵要定義事務(wù)安全類型為INNODB;8、優(yōu)化查詢語(yǔ)句

a用內(nèi)連接代替子查詢代替子查詢,用sphinx代替like模糊查詢

b最好在一致字段進(jìn)行比較操作,在建立好的索引字段上盡量減少函數(shù)操作例子1:

SELECT*FROMorderWHEREYEAR(orderDate)=\

第3頁(yè)共3頁(yè)

9、緩存,靜態(tài)化

10、選擇適合存儲(chǔ)引擎用Innodb增刪改,用myisam查詢11、主從數(shù)據(jù)庫(kù)12、負(fù)載均衡

13、最好拿數(shù)字類型的字段充當(dāng)where條件

14、最好拿一致類型的字段進(jìn)行比對(duì)(避免發(fā)生數(shù)據(jù)類型的轉(zhuǎn)換)15、不要在具有索引的字段上添加數(shù)據(jù)庫(kù)函數(shù)(索引失效)

8.2請(qǐng)簡(jiǎn)述項(xiàng)目中優(yōu)化sql語(yǔ)句執(zhí)行效率的方法,從哪些方面,sql語(yǔ)句性能如何分析?

答:(1)選擇最有效率的表名順序(2)WHERE子句中的連接順序(3)SELECT子句中避免使用‘*’(4)用Where子句替換HAVING子句(5)通過(guò)內(nèi)部函數(shù)提高SQL效率(6)避免在索引列上使用計(jì)算。

(7)提高GROUPBY語(yǔ)句的效率,可以通過(guò)將不需要的記錄在GROUPBY之前過(guò)濾掉。9.對(duì)于大流量網(wǎng)站,采用什么方法解決訪問(wèn)量問(wèn)題?

1,確認(rèn)服務(wù)器的硬件是否足夠支持當(dāng)前的流量2,優(yōu)化數(shù)據(jù)庫(kù)的訪問(wèn)3,阻止外部的盜鏈4,控制大文件的下載5,使用不同主機(jī)分流主要流量6,使用流量分析統(tǒng)計(jì)軟件

10.一個(gè)函數(shù),能夠遍歷一個(gè)文件夾下的所有文件和子文件夾(20分)

functiondir_recurse($dir){$i=1;

if($handle=opendir($dir)){

while(false!==($file=readdir($handle))){if($file!=\if(is_dir($dir.\$fullpath=$dir.\dir_recurse($fullpath);echo\$i++;}else{$fullpath=$dir.\echo\$i++;

第4頁(yè)共4頁(yè)}}}

closedir($handle);}}

10.2寫一個(gè)函數(shù),能夠遍歷一個(gè)文件夾下的所有文件和子文件夾。functionmy_scandir($dir){$files=array();

if($handle=opendir($dir)){

while(($file=readdir($handle))!==false){if($file!=\if(is_dir($dir.\

$files[$file]=scandir($dir.\}else{

$files[]=$file;}}}

closedir($handle);return$files;}}

11、能夠使HTML和PHP分開(kāi)開(kāi)使用的模板(1分)

答:Smarty,Dwoo,TinyButStrong,TemplateLite,Savant,phemplate,XTemplate12、使用哪些工具進(jìn)行版本控制?(1分)

答:cvs,svn,vss;

13、如何實(shí)現(xiàn)字符串翻轉(zhuǎn)?(3分)

英文:strrev($a)中文或其他文字:

中文:GB2312,代碼是使用GB2312編碼

$ret=\

len=mbstrwidth(len=mbstrwidth(len=mb_strwidth(str,\for(i=0;i=0;i=0;irequire是無(wú)條件包含也就是假使一個(gè)流程里參與require,無(wú)論條件成立與否

都會(huì)先執(zhí)行require

include->include有返回值,而require沒(méi)有(可能由于如此require的速度比include快)注意:包含文件不存在或者語(yǔ)法錯(cuò)誤的時(shí)候require是致命的,include不是18.http請(qǐng)求返回狀態(tài)碼

400請(qǐng)求無(wú)效401未授權(quán)403請(qǐng)求被阻止404請(qǐng)求資源不存在405請(qǐng)求資源被阻止406無(wú)法接受407要求代理身份驗(yàn)證

500InternalServerError服務(wù)端源代碼錯(cuò)誤600源站沒(méi)有返回響應(yīng)頭部,只返回實(shí)現(xiàn)內(nèi)容19,linux授權(quán)碼:

600屬主有讀寫權(quán)限

644屬主有讀寫權(quán)限,屬性組有讀權(quán)限700屬主有讀寫執(zhí)行權(quán)限

755屬主有讀寫執(zhí)行權(quán)限,屬性組有讀,執(zhí)行權(quán)限

第6頁(yè)共6頁(yè)

711屬主有讀寫執(zhí)行權(quán)限,屬性組有執(zhí)行權(quán)限666所有用戶都有文件的讀寫權(quán)限777所有用戶都有文件的讀寫執(zhí)行權(quán)限

20.有一個(gè)網(wǎng)頁(yè)地址,譬如PHP開(kāi)發(fā)資源網(wǎng)主頁(yè):http://./index.html,如何得到它的內(nèi)容?($1分)

答:方法1(對(duì)于PHP5及更高版本):

$readcontents=fopen(\$contents=stream_get_contents($readcontents);fclose($readcontents);echo$contents;方法2:

echofile_get_contents(\21.在PHP中error_reporting這個(gè)函數(shù)有什么作用?(1分)

答:設(shè)置錯(cuò)誤級(jí)別與錯(cuò)誤信息回報(bào)

22.JS表單彈出對(duì)話框函數(shù)是?獲得輸入焦點(diǎn)函數(shù)是?(2分)

答:彈出對(duì)話框:alert(),prompt(),confirm()獲得輸入焦點(diǎn)focus()

23.foo()和@foo()之間有什么區(qū)別?(1分)

答:@foo()控制錯(cuò)誤輸出

24、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ù)組,兩者兼得25、GD庫(kù)是做什么用的?(1分)

答:gd庫(kù)提供了一系列用來(lái)處理圖片的API,使用GD庫(kù)可以處理圖片,或者生成圖片。在網(wǎng)站上GD庫(kù)尋常用來(lái)生成縮略圖或者用來(lái)對(duì)圖片加水印或者對(duì)網(wǎng)站數(shù)據(jù)生成報(bào)表。26.面向?qū)ο缶幊?/p>

有兩個(gè)重要的概念:類和對(duì)象

類是具備某項(xiàng)功能的抽象模型,實(shí)際應(yīng)用中,還需要對(duì)類進(jìn)行實(shí)例化后使用。這樣就引入了對(duì)象的概念。

對(duì)象是類進(jìn)行實(shí)例化后的一個(gè)產(chǎn)物,是一個(gè)實(shí)體。封裝:把客觀的事物封裝成一個(gè)抽象的類。

繼承:子類繼承父類,可以使用父類的屬性和方法??梢詫?shí)現(xiàn)接口,同時(shí)實(shí)現(xiàn)接口中的所有方法

多態(tài):覆蓋和重載子類可以覆蓋父類中的方法;一個(gè)類中可以同時(shí)擁有同一個(gè)函數(shù)名的方法,但是方法的參數(shù)不同,實(shí)現(xiàn)的結(jié)果也不同。27.php框架

熟悉YII,Thinkphp還有l(wèi)aravel,symfony2,cakephp

第7頁(yè)共7頁(yè)

28.mysql存儲(chǔ)引擎

ISAM:查詢速度快、增刪改慢,支持全文索引、不支持外鍵、不支持事務(wù)MyISAM:Memory:InnoDB:

ISAM升級(jí)版

數(shù)據(jù)駐留在內(nèi)存、速度快、數(shù)據(jù)管理不穩(wěn)定、斷電后數(shù)據(jù)全部丟失速度較慢、支持外鍵、支持事務(wù)、不支持全文索引

使用的存儲(chǔ)引擎

MyISAM:內(nèi)容管理系統(tǒng)(新聞、官網(wǎng)、電商、軟件下載、房屋、聘請(qǐng)...)可讀不可改大部分是瀏覽信息

InnoDB:技術(shù)型網(wǎng)站(bbs、blog、webo、oa...)

29.數(shù)據(jù)庫(kù)操作流程

$link=mysql_connect(\mysql_select_db(\$sql=\$result=mysql_query($sql);

while($row=mysql_fetch_****($result)){$arr[]=$row;}

$row=mysql_fetch_array($result)意思:$row['name']和$row[1]都可以取到值$row=mysql_fetch_row($result))意思:$row[1]只有用索引取值,偏移量從0開(kāi)始。$row=mysql_fetch_assoc($result))意思:$row['name']字段名作為索引取值抽取一條記錄轉(zhuǎn)為關(guān)聯(lián)數(shù)組,失敗返回false

30.php加密函數(shù)

crypt($str[,$slat])可以完成單向加密功能md5()

sha1()返回一個(gè)40位的十六進(jìn)制數(shù),加密擴(kuò)展庫(kù)Mcrypt()和Mash

31、字符串“touppercase〞分別用php,shell,js實(shí)現(xiàn)將字符串中的字符全部轉(zhuǎn)換成大寫并輸出。(5分)

Php實(shí)現(xiàn):echostrtoupper(‘touppercase’)Shell實(shí)現(xiàn):echo\Js實(shí)現(xiàn):

32.防止SQL注入

1)一般使用addslashes函數(shù)

addslashes函數(shù)在制定的預(yù)定義字符前添加反斜杠2)對(duì)字段和密碼MD5加密處理3)預(yù)處理過(guò)濾處理

33、用PHP打印出前一天的時(shí)間,格式是2023-5-1022:21:21

34.如何實(shí)現(xiàn)字符串翻轉(zhuǎn)?

其實(shí)PHP本身就有字符串翻轉(zhuǎn)的函數(shù):strrev(),不妨試試echostrrev($str);不過(guò)所有的這三種方法都不能解決中文字符串翻轉(zhuǎn)的問(wèn)題,會(huì)出錯(cuò)的。代碼

35.實(shí)現(xiàn)中文字串截取無(wú)亂碼的方法。mb_substr()

36.以下哪一句不會(huì)把John新增到users陣列?

$users[]='john';

成功把John新增到陣列users。array_add($users,’john’);函式array_add()無(wú)定義。array_push($users,‘john’);成功把John新增到陣列users。

第9頁(yè)共9頁(yè)

$users||='john';語(yǔ)法錯(cuò)誤。

37.sort()、assort()、和ksort()有什么分別?它們分別在什么狀況下使用?sort()

根據(jù)陣列中元素的值,以英文字母順序排序,索引鍵會(huì)由0到n-1重新編號(hào)。主要是當(dāng)陣列索引鍵的值無(wú)關(guān)疼癢時(shí)用來(lái)把陣列排序。assort()

PHP沒(méi)有assort()函式,所以可能是asort()的筆誤。asort()

與sort()一樣把陣列的元素按英文字母順序來(lái)排列,不同的是所有索引鍵都獲得保存,特別適合替聯(lián)想陣列排序。ksort()

根據(jù)陣列中索引鍵的值,以英文字母順序排序,特別適合用于希望把索引鍵排序的聯(lián)想陣列。

38.以下的代碼會(huì)產(chǎn)生什么?為什么?$num=10;

functionmultiply(){$num=$num*10;}

multiply();echo$num;

由于函式multiply()沒(méi)有指定$num為全域變量(例如global$num或者$_GLOBALS['num']),所以$num的值是10。

39.些函式可以用來(lái)在現(xiàn)正執(zhí)行的腳本中插入函式庫(kù)?

對(duì)這道題目不同的理解會(huì)有不同的答案,我的第一個(gè)想法是插入PHP函式庫(kù)不外乎include()、include_once()、require()、require_once(),但細(xì)心再想,“函式庫(kù)〞也應(yīng)當(dāng)包括com物件和.net函式庫(kù),所以我們的答案也要分別包括

com_load和dotnet_load,下次有人提起“函式庫(kù)〞的時(shí)候,別忘掉這兩個(gè)函式。40.foo()與@foo()有什么分別?

foo()會(huì)執(zhí)行這個(gè)函式,任何解譯錯(cuò)誤、語(yǔ)法錯(cuò)誤、執(zhí)行錯(cuò)誤都會(huì)在頁(yè)面上顯示出來(lái)。@foo()在執(zhí)行這個(gè)函式時(shí),會(huì)隱蔽所有上述的錯(cuò)誤訊息。

好多應(yīng)用程式都使用@mysql_connect()和@mysql_query來(lái)隱蔽mysql的錯(cuò)誤訊息,我認(rèn)為這是很嚴(yán)重的失誤,由于錯(cuò)誤不該被隱蔽,你必需合理處理它們,可能的話解決它們。

41.“===〞是什么?試舉一個(gè)“==〞是真但“===〞是假的例子。

“===〞是給既可以送回布爾值“假〞,也可以送回一個(gè)不是布爾值但卻可以賦與“假〞值的函式,strpos()和strrpos()便是其中兩個(gè)例子。

問(wèn)題的其次部份有點(diǎn)困難,想一個(gè)“==〞是假,但是“===〞是真的例子卻很簡(jiǎn)單,

第10頁(yè)共10頁(yè)

相反的例子卻很少。但我終究找到以下的例子:

if(strpos(\這部分永不會(huì)被執(zhí)行,由于\的位置是0,換算成布爾值“假〞}if(strpos(\這部份會(huì)被執(zhí)行,由于“===〞保證函式strpos()的送回值不會(huì)換算成布爾值.}42、如何修改SESSION的生存時(shí)間(1分).

答:方法1:將php.ini中的session.gc_maxlifetime設(shè)置為9999重啟apache方法2:$savePath=\$lifeTime=小時(shí)*秒;session_save_path($savePath);session_set_cookie_params($lifeTime);session_start();

方法3:setcookie()andsession_set_cookie_params($lifeTime);43、在PHP中,heredoc是一種特別的字符串,它的終止標(biāo)志必需?(1分)

答:heredoc的語(yǔ)法是用\加上自己定義成對(duì)的標(biāo)簽,在標(biāo)簽范圍內(nèi)的文字視為一個(gè)字符串例子:

$str=

50請(qǐng)舉例說(shuō)明在你的開(kāi)發(fā)過(guò)程中用什么方法來(lái)加快頁(yè)面的加載速度

①要用到服務(wù)器資源時(shí)才開(kāi)啟②及時(shí)關(guān)閉服務(wù)器資源,③數(shù)據(jù)庫(kù)添加索引,

④頁(yè)面可生成靜態(tài),圖片等大文件單獨(dú)服務(wù)器。⑤使用代碼優(yōu)化工具啦

51.給定一個(gè)用逗號(hào)分隔一組值的字符串,以下哪個(gè)函數(shù)能在僅調(diào)用一次的狀況下就把每個(gè)獨(dú)立的值放入一個(gè)新創(chuàng)立的數(shù)組?A.strstr()

B.不可能只調(diào)用一次就完成C.extract()D.explode()√E.strtok()

52.假使用+操作符把一個(gè)字符串和一個(gè)整型數(shù)字相加,結(jié)果將怎樣?A.解釋器輸出一個(gè)類型錯(cuò)誤

B.字符串將被轉(zhuǎn)換成數(shù)字,再與整型數(shù)字相加C.字符串將被丟棄,只保存整型數(shù)字√D.字符串和整型數(shù)字將連接成一個(gè)新字符串E.整形數(shù)字將被丟棄,而保存字符串53.以下腳本輸出什么?$s='12345';$s[$s[1]]='2';echo$s;?>A.12345B.12245√C.22345D.11345

54.以下腳本輸出什么?$x='apple';

第12頁(yè)共12頁(yè)

echosubstr_replace($x,'x',1,2);?>A.xB.a(chǎn)xle√C.a(chǎn)xxleD.a(chǎn)pplexE.xapple

55.函數(shù)______能讀取文本文件中的一行。讀取二進(jìn)制文件或者其他文件時(shí),應(yīng)當(dāng)用______函數(shù)。A.fgets(),fseek()B.fread(),fgets()C.fputs(),fgets()D.fgets(),fread()√E.fread(),fseek()

56.哪個(gè)函數(shù)能夠往文本文件中寫入一個(gè)字符串?

答案:fwrite()和fputs()兩個(gè)函數(shù)在這里都可以,而后者其實(shí)是前者的別名。在PHP中,寫入二進(jìn)制數(shù)據(jù)和寫入字符串沒(méi)有區(qū)別。57.函數(shù)______能判斷一個(gè)文件是否可寫。答案:is_writeable

58.以下哪個(gè)選項(xiàng)能將文件指針移到開(kāi)頭?A.reset()B.fseek(-1)

C.fseek(0,SEEK_END)D.fseek(0,SEEK_SET)√E.fseek(0,SEEK_CUR)

59、include的功能和require一樣,不同的是,require不能用在[]A、判斷語(yǔ)句或循環(huán)里,B、連接語(yǔ)句里C、聲明語(yǔ)句里D、文件的開(kāi)頭E、文件的中間√

50、下面建立與MySQLServer的連接語(yǔ)法正確的是:[]A、$link=connect(\B、$link=mysql_connect(\√C、$link=mysqlconnect(\D、$link=mysql_pconnect(\√E、$link=pconnect(\

第13頁(yè)共13頁(yè)

51.將字符串轉(zhuǎn)換成小寫

strtolower():該函數(shù)將傳入的字符串參數(shù)所有的字符都轉(zhuǎn)換成小寫,并以小定形式放回這個(gè)字符串52.將字符轉(zhuǎn)成大寫

strtoupper():該函數(shù)的作用同strtolower函數(shù)相反,是將傳入的字符參數(shù)的字符全部轉(zhuǎn)換成大寫,并以大寫的形式返回這個(gè)字符串.用法同strtolowe()一樣.53.將字符串首字符轉(zhuǎn)換成大寫

ucfirst():該函數(shù)的作用是將字符串的第一個(gè)字符改成大寫,該函數(shù)返回首字符大寫的字符串.用法同strtolowe()一樣.54.將字符串每個(gè)單詞的首字符轉(zhuǎn)換成大寫

ucwords():該函數(shù)將傳入的字符串的每個(gè)單詞的首字符變成大寫.如\

world\經(jīng)過(guò)該函數(shù)處理后,將返回\用法同strtolowe()一樣.55、NoSQL:NotOnlySQL

思想:網(wǎng)站產(chǎn)生的數(shù)據(jù),一部分存儲(chǔ)數(shù)據(jù)庫(kù)、一部分存到NoSQL相關(guān)產(chǎn)品NoSQL產(chǎn)品

1、Memcache:內(nèi)存(速度快、數(shù)據(jù)量小)、數(shù)據(jù)的過(guò)期時(shí)間2、MongoDB:文檔數(shù)據(jù)庫(kù)

3、Redis:內(nèi)存(速度快、數(shù)據(jù)量小)、庫(kù)、沒(méi)有過(guò)期時(shí)間56.什么樣的數(shù)據(jù),存儲(chǔ)在什么位置?MySQL:穩(wěn)定的數(shù)據(jù)NoSQL:活躍的數(shù)據(jù)57緩存分類

1、緩存數(shù)據(jù)存儲(chǔ)位置不同1)文件緩存2)內(nèi)存緩存

2、緩存的數(shù)據(jù)量的不同1)頁(yè)面緩存2)局部緩存3)局部不緩存

4)數(shù)據(jù)緩存(變量緩存、動(dòng)態(tài)緩存)Memcache:內(nèi)存緩存、變量緩存58.LINUX命令

查看當(dāng)前目錄下所有內(nèi)容ls

在當(dāng)前目錄下,新建一個(gè)文件夾mkdir文件夾名

刪除指定的文件夾rmdir文件夾名只能刪除空目錄在當(dāng)前目錄下新建一個(gè)空白文件touch文件名刪除當(dāng)前目錄下的一個(gè)文件unlink文件名刪除文件或文件夾rm

第14頁(yè)共14頁(yè)

復(fù)制文件cp移動(dòng)文件或文件夾mv文件或文件夾重命名mv查看完整的工作目錄pwd

切換目錄:cdcd/返回根目錄文件傳輸ftp查看文件內(nèi)容cat文件名查看文件編碼file文件名

查找文件find路徑-name文件名修改文件或文件夾權(quán)限

權(quán)限種類:r4(讀)、w2(寫)、x1(執(zhí)行)權(quán)限操作符:+(賦予權(quán)限)、-(收回權(quán)限)

用戶種類:a(所有人)、u(文件擁有者)、g(組用戶)、o(其他用戶)查看權(quán)限:ls-l

-rw-r--r--a.txtdrwxr-xr-xhello

第1位:是文件還是文件夾(-文件、d文件夾)第234位:u用戶的權(quán)限

第567位:g用戶的權(quán)限最終三位:o用戶的權(quán)限1)將最大權(quán)限賦予a.txtchmoda+r+w+xa.txtchmod777a.txt

2)設(shè)置a.txt權(quán)限,收回o用戶的wx權(quán)限chmodo-w-xa.txt

4)設(shè)置a.txt權(quán)限:u:rwg:ro:rchmod644a.txt

5)設(shè)置hello文件夾權(quán),給予最大權(quán)限(不影響子文件)chmod777hello

6)設(shè)置hello文件夾權(quán),給予最大權(quán)限(影響子文件)chmod-R777hello

59、創(chuàng)立文件exer1,設(shè)置訪問(wèn)權(quán)限為rw-r--r--,現(xiàn)要增加所有用戶的執(zhí)行權(quán)限和同組用戶的寫權(quán)限,寫出操作過(guò)程的命令(10分)

touchexer1chmod644exer1增加權(quán)限

chmoda+xexer1chmodg+wexer1

第15頁(yè)共15頁(yè)

或者

chmod775exer160易出現(xiàn)編碼的地方

①文件保存格式的編碼

②③Header();

④Msq本身的編碼(修改my.ini)⑤Setnamesgbk;

⑥Mysql_query(“setnamesutf8〞);⑦Iconv()PHP的系統(tǒng)函數(shù)進(jìn)行轉(zhuǎn)碼61.PHP工作原理

①一個(gè)網(wǎng)站運(yùn)行時(shí)客戶端有無(wú)數(shù)個(gè),服務(wù)器尋常只有一個(gè)(負(fù)載均衡)②開(kāi)發(fā)環(huán)境的安裝Apache2.2,PHP5.4,MYSQL5.3開(kāi)源,可以跨平臺(tái)③配置文件:httpd.conf(Apache),php.inimy.ini④PHP文檔組成:HTML,css,js,jquery,PHP

⑤PHP語(yǔ)法風(fēng)格:xml風(fēng)格,短風(fēng)格,ASP風(fēng)格(已過(guò)時(shí)),腳本風(fēng)格

⑥注意:位置任意,同一頁(yè)面可以出現(xiàn)屢屢,不能嵌套,里面只能出現(xiàn)php代碼,需要轉(zhuǎn)字符串輸出

⑦運(yùn)行在服務(wù)器端

⑧解釋:?jiǎn)涡薪忉?,多行解?2數(shù)據(jù)類型:

1)標(biāo)量類型:integer,F(xiàn)loat,String,boolean2)復(fù)合類型:Array,Object3)特別類型:Resource,Null

4)偽類型:mixed,number,callback(回調(diào)函數(shù))63.PHP中被認(rèn)為是false的值:

0,

65什么是MVC?

回復(fù):MVC由Model(模型),View(視圖)和Controller(控制器)組成,PHPMVC

0.0,

null,

空數(shù)組,

空字符串,false

64.求兩個(gè)日期的差數(shù),例如2023-2-27~2023-05-6的日期差數(shù)

第16頁(yè)共16頁(yè)

可以更高效地管理好3個(gè)不同層的PHP代碼。

Model:數(shù)據(jù)信息存取層。

View:view層負(fù)責(zé)將應(yīng)用的數(shù)據(jù)以特定的方式浮現(xiàn)在界面上。

Controller:尋??刂破髫?fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送數(shù)據(jù)。66.PHP中獲取圖像尺寸大小的方法是什么?

回復(fù):getimagesize()獲取圖片的尺寸Imagesx()獲取圖片的寬度Imagesy()獲取圖片的高度67.如何在PHP中定義常量?

回復(fù):PHP中使用Define()來(lái)定義常量。define(“Newconstant〞,30);

68.如何不使用submit按鈕來(lái)提交表單?

假使我們不想用submit按鈕來(lái)提交表單,我們也可以用超鏈接來(lái)提交,我們可以這樣寫代碼:

SubmitMe

69.簡(jiǎn)述論壇中無(wú)限分類的實(shí)現(xiàn)原理。

答:無(wú)限極分類,那么應(yīng)當(dāng)是考察遞歸函數(shù)吧!

第一步:建立測(cè)試數(shù)據(jù)庫(kù):

CREATETABLE`category`(`id`smallint(5)unsignedNOTNULLauto_increment,`fid`smallint(5)unsignedNOTNULLdefault'0',`value`varchar(50)NOTNULLdefault'',PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCHARSET=utf8;

其次步:插入測(cè)試數(shù)據(jù):

INSERTINTO`category`(`fid`,`value`)VALUES(0,'PHP點(diǎn)點(diǎn)通博客PHPDDT.COM'),(1,'a'),(1,'b'),(2,'c'),(2,'d'),(4,'e')

第三步:遞歸輸出分類:70.試述isset()和empty()的區(qū)別

isset()測(cè)試變量是否存在empty()測(cè)試變量是否為空71.請(qǐng)用完可能少的語(yǔ)句實(shí)現(xiàn)對(duì)輸入Email地址進(jìn)行驗(yàn)證的功能

eregi('^[_a-z0-9]+(/.[_a-z0-9-]+)*@[a-z0-9]+(/.[a-z0-9-]+)*$',$emailaddress)

72.使用PHP描述冒泡排序和快速排序算法,對(duì)象可以是一個(gè)數(shù)組

/冒泡排序(數(shù)組排序)

functionbubble_sort($array){

$count=count($array);if($count$i;$j–){if($array[$j]$val){$keysvalue[$key]=$val[$keys];}

if($order==0){asort($keysvalue);}else{

arsort($keysvalue);}

reset($keysvalue);

foreach($keysvalueas$key=>$vals){$keysort[$key]=$key;

}

$new_array=array();

foreach($keysortas$key=>$val){

第19頁(yè)共19頁(yè)

$new_array[$key]=$arr[$val];

}

return$new_array;}

75.utf-8轉(zhuǎn)換成gb

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論