第一篇:PHP復(fù)習(xí)資料
PHP復(fù)習(xí)資料
填空題
1.在PHP中,加入注釋的方法很靈活,單行注釋有 // 和 # 兩mysql可以方便地對(duì)數(shù)據(jù)庫(kù)進(jìn)行各種操作。
13.在continue和break語(yǔ)句中,名詞解釋
1. 構(gòu)造函數(shù): 在類中定義的、種方法,多行注釋可以使用“/* */”實(shí)現(xiàn)。
2.在PHP中,變量以符號(hào) $ 開(kāi)頭,該符號(hào)告訴PHP這是一個(gè)變量。
3.在PHP中,使用關(guān)鍵字function來(lái)定義自己的函數(shù),可以有傳回值也可以無(wú)傳回值。4.在類中,與類同名的方法稱為構(gòu)造方法,該方法在創(chuàng)建類的實(shí)例時(shí)調(diào)用。
5.strrev()函數(shù)是用于將一個(gè)字符串翻轉(zhuǎn),如strrev(“elppa”)的結(jié)果為”apple”。
6.strlen()函數(shù)用于計(jì)算字符串的長(zhǎng)度。
7.在PHP中,函數(shù)nl2br()可以將字符串中的換行符“n”替換為HTML中的“
”標(biāo)記。8.在打開(kāi)一個(gè)文件后,可以使用fputs()和fwrite()這兩個(gè)函數(shù)將數(shù)據(jù)寫(xiě)入到文件中。9.在PHP中,向數(shù)據(jù)庫(kù)發(fā)送SQL查詢有兩個(gè)函數(shù):分別是mysql_query()和
mysql_db_query()。
10.授權(quán)語(yǔ)句”grant select on eshops.customers
to
lbs@llocalhost”,表示授予本地主機(jī)中的用戶數(shù)據(jù)庫(kù)eshops的customers表具有select權(quán)。
11.MySQL數(shù)據(jù)庫(kù)的最大魅力在于它是自由軟件。
12.mysql是MySQL自帶的一個(gè)標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)客戶端程序。使用
continue語(yǔ)句用來(lái)跳出本次循環(huán),break語(yǔ)句用來(lái)跳出當(dāng)前循環(huán)。
14.在用戶自定義函數(shù)中使用的PHP變量默認(rèn)被設(shè)為局部變量,它只能在函數(shù)內(nèi)部使用。15.mysql_num_rows()函數(shù)用于獲取總行數(shù),mysql_num_fields()函數(shù)用于獲取總字段數(shù)。16.與mysql_fetch_array()函數(shù)相比,mysql_fetch_row()的執(zhí)行速度更快。
17.mysql_data_seek()函數(shù)用于將記錄指針移到指定的行。18.PHP函數(shù)mysql_list_dbs()與SQL語(yǔ)句show databases等效。
19.MySQL是真正支持多平臺(tái)的,如Linux、OS/
2、MacOS、Windows94/98/NT/2000等,使跨平臺(tái)成為可能。
20.為了判斷文件指針是否指向文件結(jié)尾,可以使用feof()函數(shù)。21.為了獲得當(dāng)前時(shí)間“2007年12月15日”,可以使用getdate()函數(shù)來(lái)實(shí)現(xiàn)。22.變量的作用域就是它的有效范圍,”global”是用來(lái)聲明全局變量的。
23. 數(shù)學(xué)函數(shù)dechex()是用于將數(shù)從十進(jìn)制轉(zhuǎn)換成十六進(jìn)制。24.在PHP中,引用頭文件可以使用require()和include()這兩個(gè)函數(shù),我們可以在循環(huán)中使用include()函數(shù),將不同文件的內(nèi)容包含進(jìn)來(lái)。
與類同名的方法,該方法在創(chuàng)建類的實(shí)例時(shí)會(huì)自動(dòng)被調(diào)用。
2. 靜態(tài)變量: 僅存在于函數(shù)
中的變量為靜態(tài)變量。和局部變量一樣,它僅作用于某個(gè)局部范圍,但是當(dāng)函數(shù)執(zhí)行完時(shí),靜態(tài)變量的值不會(huì)丟失,這一點(diǎn)和全局變量相同。
3. 變量的引用賦值: 變量的引用賦值就是指引用變量的地址,導(dǎo)致兩個(gè)變量指向同一個(gè)內(nèi)存地址,使用對(duì)一個(gè)變量值的修改會(huì)導(dǎo)致對(duì)另一個(gè)變量值的修改。4. PHP:
PHP
是
PHP:HyperText Preprocessor的縮寫(xiě),其中冒號(hào)前面的PHP又是Personal Home Page的縮寫(xiě)。PHP是一種開(kāi)放源代碼的、免費(fèi)的、嵌入式服務(wù)器腳本語(yǔ)言,它混合了C、Java、Perl等的語(yǔ)法,并加入了自創(chuàng)的一些新語(yǔ)法,語(yǔ)言的整體風(fēng)格類似于C。5.
簡(jiǎn)答題
1.談?wù)勀闶侨绾卫斫鈱?duì)象和類,以及兩者的關(guān)系。
答:(1)對(duì)象可以是人們要進(jìn)行研究的任何事物,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計(jì)劃或事件。每個(gè)對(duì)象都有自己的狀
態(tài)和行為。
(2)類是具有相同或相似性質(zhì)的對(duì)象的抽象。類具有屬性,它是對(duì)象狀態(tài)的抽象,用數(shù)據(jù)結(jié)構(gòu)來(lái)描述;類具有操作,它是對(duì)對(duì)象行為的抽象,用操作名和實(shí)現(xiàn)該操作的方法來(lái)描述。
(3)對(duì)象和類的關(guān)系:對(duì)象的抽象是類,類的具體化就是對(duì)象,也可以說(shuō)類的實(shí)例就是對(duì)象。
2.請(qǐng)解釋下面的程序并給出程序的運(yùn)行結(jié)果。
function makeup($type=”果汁”){echo “給我一杯
$type!
”;
}
echo makeup();
echo makeup(“可樂(lè)”);?>
答: 第一步:在該程序中首
先定義了一個(gè)makeup()函數(shù),并為函數(shù)的參數(shù)$type設(shè)置了一個(gè)默認(rèn)值“果汁”。
第二步:在第一條輸出語(yǔ)句中調(diào)用該函數(shù)時(shí),由于未提供參數(shù),所以就使用默認(rèn)值“果汁”,輸出結(jié)果為“給我一杯果汁!”。
第三步:在第二條輸出語(yǔ)句中再次調(diào)用該函數(shù)時(shí),由于提供了參數(shù)值“可樂(lè)”,所以不會(huì)使用默認(rèn)值,輸出結(jié)果為“給我一杯可樂(lè)!”。該程序的運(yùn)行結(jié)果為: 給我一杯果汁!給我一杯可樂(lè)!
3.使用MySQL數(shù)據(jù)庫(kù)時(shí),如何在命令行界面實(shí)現(xiàn)數(shù)據(jù)的導(dǎo)入與導(dǎo)出?請(qǐng)各列舉兩種方法,并舉例說(shuō)明。
答: 導(dǎo)入:將D盤eshops.sql文件中所有數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)test中
方法一:使用source命令 語(yǔ)法:source 文件名;舉例:use test;source “d:eshops.sql”;方法二:使用客戶端程序mysql
語(yǔ)法:mysql 數(shù)據(jù)庫(kù)名 <文件名;
舉例:mysql –u 用戶名 –p test 導(dǎo)出:將數(shù)據(jù)庫(kù)test中的所有數(shù)據(jù)導(dǎo)出到D盤eshops.sql文件中 方法一:使用“select ?into outfile”語(yǔ)句 舉例:select * from test.表名 into outfile ‘d:/eshops.sql’; 說(shuō)明:每一張表數(shù)據(jù)的導(dǎo)出都要用一條選擇語(yǔ)句來(lái)實(shí)現(xiàn) 方法二:使用mysqldump工具 語(yǔ)法:mysqldump [開(kāi)關(guān)參數(shù)] 數(shù)據(jù)庫(kù)名 [表名] >文本文件名 舉例:mysqldump –u 用戶名 –p test >d:eshops.sql;4.連接數(shù)據(jù)庫(kù)服務(wù)器的PHP函數(shù)有兩個(gè),mysql_connect()和mysql_pconnect(),它們有何區(qū)別? 答: mysql_connect()和 mysql_pconnect()函數(shù)都可以用來(lái)連接數(shù)據(jù)庫(kù)服務(wù)器,兩者的語(yǔ)法基本相同,區(qū)別在于: (1)當(dāng)數(shù)據(jù)庫(kù)操作結(jié)束后,mysql_connect()函數(shù)建立的連接將自動(dòng)關(guān)閉,而mysql_pconnect()函數(shù)建立的連接將繼續(xù)存在,是一種持久的連接; (2)mysql_pconnect()函數(shù)在每次連接前都會(huì)檢查是否使用同樣的主機(jī)名、用戶名和密碼連接,如果有,則直接使用這個(gè)連接號(hào); (3)mysql_connect()函數(shù)建立的連接可以用mysql_close()函數(shù)來(lái)關(guān)閉,而用mysql_pconnect()函數(shù)建立的連接不能用mysql_close()函數(shù)來(lái)關(guān)閉。 論述題 1.請(qǐng)談?wù)剬W(xué)習(xí)網(wǎng)頁(yè)設(shè)計(jì)語(yǔ)言PHP后的心得體會(huì)。答: PHP課后習(xí)題 第一章自測(cè)題 一、單選題 1.動(dòng)態(tài)網(wǎng)站隸屬性下面哪一種軟件開(kāi)發(fā)形式() A.應(yīng)用程序開(kāi)發(fā) B.C/S架構(gòu)軟件 C.嵌入式程序開(kāi)發(fā) D.B/S架構(gòu)軟件 2.在下面的選項(xiàng)中,哪一種Web構(gòu)建在開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站時(shí)通常用于接收井處理用戶事件() A.HTML B.CSS C.JavaScript D.PHP 3.下面幾個(gè)后臺(tái)腳本編程語(yǔ)言中,哪個(gè)屬于開(kāi)源的軟件() A.ASP B.PHP C.JSP D.CGI 4.下面幾個(gè)Web構(gòu)建中,哪個(gè)可以直接作為數(shù)據(jù)庫(kù)的客戶端應(yīng)用處理數(shù)據(jù)庫(kù)中的數(shù)據(jù)() A.JavaScript B.Apache C.Linux D.PHP 5.用于調(diào)整網(wǎng)頁(yè)的外觀和布局的Web構(gòu)建是下面選項(xiàng)中的哪一個(gè)() A.PHP B.JavaScript C.CSS D.XML 6.構(gòu)建一個(gè)網(wǎng)站開(kāi)發(fā)平臺(tái),希望具有簡(jiǎn)易性、低成本、高安全性、開(kāi)發(fā)速度快并且執(zhí)行靈活,可以選擇下面選項(xiàng)中哪一種網(wǎng)站開(kāi)發(fā)平臺(tái)() A.ASP.NET B.J2EE C.LAMP D.CGI 7.下面選項(xiàng)中,哪個(gè)不屬于URL的組成部分() A.傳輸協(xié)議 B.主機(jī) C.端口 D.Internet 8.如果選用LAMP平臺(tái)開(kāi)發(fā)Web程序,下面選項(xiàng)中不能使用PHP處理的工作是() A.接收用戶表單 B.處理用戶事件 C.圖像處理 D.生成HTML輸出 9.在下面的選項(xiàng)中,可以由Web服務(wù)器Apache完成的工作是哪一個(gè)() A.解析PHP文件 B.連接處理數(shù)據(jù)庫(kù) C.主動(dòng)建立與客戶端連接 D.發(fā)布網(wǎng)站 10.在下面的選項(xiàng)中,對(duì)MySQL數(shù)據(jù)庫(kù)描述不正確的是() A.MySQL屬于C/S結(jié)構(gòu)軟件 B.在LAMP組合的開(kāi)發(fā)平臺(tái)中,MySQL用于保存網(wǎng)站中的內(nèi)容數(shù)據(jù) C.可以使用PHP作為MySQL客戶端程序連接并處理MySQL服務(wù)器 D.MySQL服務(wù)器必須和Apache服務(wù)器以及PHP應(yīng)用服務(wù)器安裝在同一臺(tái)電腦中 二、練習(xí)題 1.了解B/S軟件體系結(jié)構(gòu)的特點(diǎn)。 2.掌握動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)所需要的Web構(gòu)件,及每種構(gòu)件在Web開(kāi)發(fā)中的用途。3.了解網(wǎng)站的運(yùn)行過(guò)程,Web的王作原理 4。了解HTTP請(qǐng)求/響應(yīng)模式的過(guò)程,及URL的作用 5.探索LAMP組合的特性及應(yīng)用領(lǐng)域 第二章自測(cè)題 1.下載最新版本的源代碼包,在Linux操作系統(tǒng)下為自己安裝一個(gè)最好的LAMP運(yùn)行平臺(tái),并配置好phpMyAdmin。 2.下載各種軟件的最穩(wěn)定版本,在Windows操作系統(tǒng)中獨(dú)立安裝屬于自己的PHP T作平臺(tái),要求設(shè)置好每個(gè)軟件的安裝路徑,井配置好phpMyAdmin。 3.挑選一種自己喜歡的PHP及相關(guān)軟件的集成版本,安裝并進(jìn)行設(shè)置。 4.不管是安裝的哪一種開(kāi)發(fā)環(huán)境,找到Apache、MySQL、PHP的安裝目錄和它們的配置文件,以及網(wǎng)頁(yè)發(fā)布目錄的位置。 第三章自測(cè)題 一、單選題 1.Apache是()服務(wù)的服務(wù)器程序 A.004km.cn)A.strchr, split,var_dump B.strstr,explode, print_r C.srrstr,explode, echo D.Strchr,split, var,_dump 5.下面哪個(gè)正則表達(dá)式,可以從服務(wù)器上取到訪問(wèn)域名第二層()A.preg_replace(“/.*([^.V]+)(.(comlnetlorg))?.[^.V]+$/”,“1”, $_SERVER['HTTP_ HOST'])B.preg_replace(“/.*?([^.V]+)(.(comlnetlorg))?.[^.V]+$/”,“1”,$_SERVER['HTTP_ HOST'])C.preg_replace(“/.*([^.v]+)(.(comlnetlorg))?.[^.V]+$/”,“1”,$HTTP HOST)D.preg_replace(“/.*?([^.V]+)(.(comInmlorg))?.[^.V]+$/”,“1”,$HTTP_HOST)PHP中,下列哪個(gè)函數(shù)是將字符串前后顛倒()A.strrev() B.strrpos()C.strstr() D.sirfiirst()6.下列那個(gè)選項(xiàng)是正確的引用文件的方法:()A.require和include B.re:quire和function C.define和include D.function和include 7.以下字符的長(zhǎng)度是() $text=“ tllo ”; echo strlen(trim($text)); ?> A.9 B.5 C.7 D.3 8.將字符串中所有英文單字的開(kāi)頭字母轉(zhuǎn)換為大寫(xiě)的函數(shù)應(yīng)該是()A.ucfrrst(“字符串”) B.strtolower()C.strtoupper() D.ucwords() 二、練習(xí)題 1.寫(xiě)出一個(gè)函數(shù)驗(yàn)證電子郵件的格式是否正確。 2.寫(xiě)出一個(gè)正則表達(dá)式,過(guò)濾網(wǎng)頁(yè)上的所有JavaScript/VBScript腳本(即把script標(biāo)記及其內(nèi)容都去掉)。3.編寫(xiě)一個(gè)PHP腳本程序,用于接受用戶在表單中的輸入,井要求在該腳本中進(jìn)行數(shù)據(jù)效驗(yàn)(在客戶端表單中有以下字段和需要效驗(yàn)的格式)。 Name 請(qǐng)輸入你的名字,單行,32個(gè)漢字以下.8個(gè)漢字以上 Title 請(qǐng)輸入標(biāo)題,單行,64個(gè)漢字以下,不能為空 Body 輸入文本內(nèi)容,多行,不限 E-mail 請(qǐng)輸入郵件地址,按電子郵件格式效驗(yàn) Birthday請(qǐng)輸入生日,按YYYY-MM-DD格式效驗(yàn) 第八章自測(cè)題 自測(cè)題 一、單選題 1.以下哪個(gè)錯(cuò)誤級(jí)別會(huì)使程序崩潰,阻止并退出程序()A.E_WARNING B.E_NOTICE C.E_ERROR D.以上都可以 2.下面劉PHP錯(cuò)誤日志描述不正確的是() A.可以錯(cuò)誤記錄到Apache服務(wù)器的錯(cuò)誤日志文件error.log 中 B.記錄錯(cuò)誤日志到自己指定的文件中 C.可以將錯(cuò)誤日志發(fā)送給系統(tǒng)syslog D。在寫(xiě)入錯(cuò)誤日志之前,應(yīng)該先在PHP配置文件中將displa y_errors選項(xiàng)開(kāi)啟 3.關(guān)于PHP 5中的異常,下列四句描述中哪句是錯(cuò)誤的() A.異常也是一個(gè)類 B,為了拋出我們自建的異常,我們必須使用throw語(yǔ)句實(shí)現(xiàn) C.異常在拋山后會(huì)在父一層被自動(dòng)消滅掉 D.要容忍某些特定的異常,我們應(yīng)該使用try?catch語(yǔ)法的同時(shí),留空catch段 4.下面哪個(gè)函數(shù)不能返回UNIX時(shí)間戳() A.Time() B.strtotime() C.localtimeo D.gmrnktime()5.當(dāng)前GMT時(shí)區(qū)的時(shí)間戳和當(dāng)前本地的時(shí)間戳,在秒上有什么區(qū)別() A.這取決于本地時(shí)區(qū)和GMT時(shí)區(qū)之間小時(shí)數(shù)的差別 B.沒(méi)有任何區(qū)別 C.本地時(shí)區(qū)和GMT時(shí)區(qū)完全匹配時(shí)才相等 D.沒(méi)有可比的地方 6.以下哪一個(gè)是最簡(jiǎn)單的方式將microtime()轉(zhuǎn)化輸出為一個(gè)單一的數(shù)值() A.$time=implode(' ',microtime()); B.$time=explode(' ',microtime());$time=$t.ime[0]+$time [1]; C.$time=microtime()+microtime(); D.$time=arr ay_sum(explode(' ',microtime()));7.下面程序運(yùn)行結(jié)果為() $nextWeek=timeO+(7*24*60*60); echo 'Now:'.date('Y-m-d').“n”; echo 'Next Week:'.date('Y-m-d',$nextWeek).“n”; ?> A.得到今天的日期(月-曰) B-得到今天的U期(年-月-U)與下周的日期(年-月-日) c.得到現(xiàn)在的時(shí)間(小時(shí)-分-秒) D.得到現(xiàn)在到下周的時(shí)間間隔 8.使用PHP的GD函數(shù)庫(kù)動(dòng)態(tài)創(chuàng)建圖像時(shí),需要先獲取圖像資源,下面函數(shù)中哪一個(gè)不能創(chuàng)建圖像資源() A.imagecreate() B.imagec:reatetruecolor() C.imagecreateflromjpeg() D.imagecolorallocate() 二、練習(xí)題 1.簡(jiǎn)述PHP中error_reporting函數(shù)的作用是什么。 2。使用PHP的日期和時(shí)間函數(shù),打印出“前一天“的日期和時(shí)問(wèn)信息(輸出可以參考2009-5-12 11:05:30格式)。 3.使用PHP的GD函數(shù)庫(kù)編寫(xiě)一個(gè)具有縮放圖片和添加水印功能的類(要求支持中文水?。?。 第十一章自測(cè)題 一、單選題 1.怎樣打開(kāi)或創(chuàng)建一個(gè)文件() A.open() B.fopen() C.fwriteo D,write()2.下面哪兩個(gè)參數(shù)用來(lái)提示fopen()函數(shù)打開(kāi)一個(gè)文件進(jìn)行讀取并寫(xiě)入() A.w B.r c.a D.+ 3.哪個(gè)函數(shù)用來(lái)從文本文件里面讀取一個(gè)單獨(dú)的行,但是當(dāng)你需要讀取二進(jìn)制數(shù)據(jù)或者其他格式的文件的時(shí)候,你需要使用哪個(gè)函數(shù)() A.fgets(),fseeko B.freda(),fgets0 C.fputs(),fgets() D.fgets0,fread()4.下面代碼中file_ exists的意義是() $ filename-‘/path/to/foo.txt’; Iq(file_exists($fil.encame)){ Echo“The file $filenfune exists”; }else{ echo “Thcfile$filename does not exist”;) ?> A.測(cè)試字符串 B.測(cè)試數(shù)組 C.測(cè)試變量 D.測(cè)試一個(gè)文件是否存在 5./tmp是上傳文件的默認(rèn)存儲(chǔ)目錄,如果更改這個(gè)目錄需要編輯哪個(gè)文件的哪個(gè)屬性值(A.php.ini文件的upload_tmp_dir屬性 B.php.ini文件的uploaud_dif屬性 c-php,conf文件的upl'oad_tmp_dir屬性 D.php+conf文件的upload_dir屬性 6.以下代碼運(yùn)行結(jié)果為() php $fp=fopen(”/etc/passwd“,”rt“); $data=fgets($fp,12); echo ftell($fp); fclose($fp); ?> A.13 B.11 C.0 D.10 7.File()函數(shù)返回的數(shù)據(jù)類型為() A.?dāng)?shù)組 B.字符串 C.整型 D.根據(jù)文件來(lái)定 8.PHP中刪除文件的函數(shù)是() A.rm B.del C.unlink D.rm-if 9.PHP中,可以用來(lái)接收上傳的文件的函數(shù)是() A.$一FILES B-copys C.is_uploadnle D-move_uploaded_file 10.PHP中用來(lái)刪除當(dāng)前日錄的函數(shù)是() A.chdir B.cd C.opendir D.rmdir =、練習(xí)題 1.使用PHP的文件處理函數(shù)實(shí)現(xiàn)網(wǎng)頁(yè)靜態(tài)化功能。 2.寫(xiě)一個(gè)函數(shù),能夠遍歷一個(gè)文件夾下的所有文件和子文件夾。 3.在沒(méi)有數(shù)據(jù)庫(kù)的環(huán)境下,以文件替代數(shù)據(jù)庫(kù)實(shí)現(xiàn)一個(gè)完整的網(wǎng)頁(yè)留言板功能。 第十二章自測(cè)題 一、單選題 1.下列哪些數(shù)據(jù)庫(kù)管理系統(tǒng)是PHP不支持的()A.MySQL B-IBM DB2 C.PostgreSQL D.Microsoft SQL Server E.以上沒(méi)有一個(gè)PHP不支持 2.請(qǐng)看下面的SQL查詢語(yǔ)句,選擇哪兩項(xiàng)可以減少?gòu)臄?shù)據(jù)庫(kù)返回的數(shù)據(jù)量()SELECT*FROM MY —TABLE A.轉(zhuǎn)為存儲(chǔ)過(guò)程 B.用具體的字段名來(lái)代替“*” c.加一個(gè)“wnere”語(yǔ)句 D.轉(zhuǎn)變查詢?yōu)橐晥D E.使用預(yù)語(yǔ)句 3.下面哪個(gè)不是一個(gè)合法的SQL的歸類函數(shù)() A.AVG B.SUM C.MIN D.MAX E.CURRENT_DATEO 4.mysql_affected_rows()對(duì)哪個(gè)操作沒(méi)有影響() A.SELECT B.DELETE C, UPDATE D.INSERT 5.取得搜索語(yǔ)句的結(jié)果集中的記錄總數(shù)的函數(shù)是() A.Mysql-fetch-row B.mysql-u root password tcst C.mysql_num-rows D.mysql-u root-password test 6.mysql_insert_id()函數(shù)的作用是() A.盤看下一次捅入記錄時(shí)的ID號(hào) B.查看剛剛插入過(guò)的自動(dòng)增長(zhǎng)ID值 C.查看一共做過(guò)多少次insert操作 D.查看一共多少條記錄 7.修改MySQL崩戶root的密碼的指令是(A.mysqiadmin—u root password test B.mysql-u root password test C.mysql—Ll root—ptest D.mysql-u root-password test 8.以下代碼執(zhí)行結(jié)果是() A.報(bào)錯(cuò) C.循環(huán)換行打印全部記錄 B.只打印一條記錄 D.無(wú)任何結(jié)果 B.查看剛剮插入過(guò)的自動(dòng)增長(zhǎng)ID值 D.查看一共有多少條記錄 9.假設(shè)-f一個(gè)數(shù)據(jù)庫(kù)mydb中有一個(gè)表tb】,表中有六個(gè)字段,主鍵為ID,有十條記錄,ID從0到9,以下代碼輸山結(jié)果是() $link 2 mysql_c.onnec.t(”IocalhostrP, “mysql_user't, ”mysql_passwordr') or die(l'Could not connelc.t:”.m ysql_erroH)); tSresult 2 mysql_query{T'SELECT i.d,name,age FROM mydb.tbl where id<5"); or die(P'Could not query:.mysqI—error(》; echo mysql_num_fields(S;result.); mysql_close{'$tink); ?> A,6 B.5 C.4 D.3 10.使用以下哪條指令能夠?qū)崿F(xiàn)數(shù)據(jù)庫(kù)的長(zhǎng)久連接() A.mysql_connecE B.mysql_con nectd C.mysql_pconnetcd D.mysql_pconnect 1 1.建立一個(gè)“學(xué)生”表Student,它由學(xué)弓Sno、姓名Sname、性別Ssex、年齡Sage、所在系Sdept五個(gè)屬性組成。其中學(xué)號(hào)不能為空,值是唯一的,并且姓名取值也唯一,下列哪個(gè)選項(xiàng)正確() A.CREATE TABLE.Student(Sno CHAR(5)NOT NULL UNIQUE, Sname CHAR(20)UNIQUE,Ssex CHAR(1),Sage INT* Sdep CHAR(1 5)): B- CREATE TABLE Student(Sno CHAR(5)NOT NULL UNIQUE, Sname CHAR(20)UNIQUE,Ssex CHAR(I)Sage INT, Sdept CHAR(15)); C.CREATE TABLE Student(Sno CHAR(5), Snarm: CHAR(20)UNIQUE* Ssex CHAR(I), SageINT.Sdept CHAR(15)); D-CREATE TAHLE Student(Sno CHAR(5)NOT NULL UNIQUE, Sname CHAR(20)UNIQUE,Ssex CHAR(l), Sdcpt CHAR(1 5)): 12.查詢所有年齡在20歲以下的學(xué)生姓名及其年齡,以下正確的是() A, SELECT Sname,Sage FROM Student.WHERE Sage<=20; B.SELECT Sname,Sage FROM Student WHERE NOT Sage<20; C-SELECT Sname,Sage FROM Student WHERE NOT Sage>20; D.SELECT Sname,Sage FROM Studcnt WHERE Sage<20;13.查詢名字中第2個(gè)字為“陽(yáng)”字的學(xué)生的姓名和學(xué)號(hào),下列正確的是() A.SELECT Sname,Sno FROM Student WHERE Sname LIKE '_陽(yáng)%'; B.SELECT Sname,Sno FROM Student WHERE Sname LIKE'陽(yáng)%': C.SELECT Sname,Sno FROM StU dent WHERE Sn ame LIKE'一陽(yáng)'; D.SELE CT Sn ame,Sno FROM Student WHERE Sname LIKE'陽(yáng)_%';14.HAVING短語(yǔ)與WHERE子句的區(qū)別是() A.WHERE進(jìn)擇滿足條件的組 B.HAVING選擇滿足條件的元組 C,作用對(duì)象不同 D.查詢條件不同 15.導(dǎo)山數(shù)據(jù)庫(kù)正確的方法為() A.mysqldump數(shù)據(jù)庫(kù)名>文件名; B,mys qldump數(shù)據(jù)庫(kù)名>>文件名; c.mysqliciump數(shù)據(jù)庫(kù)名 文件名; D.mysqldump數(shù)據(jù)庫(kù)名=文作名; 16. 卜面哪一項(xiàng)不是有效的SELECT語(yǔ)句() A.SELECT astname,firstname FROM customers; B-SELECT*FROM orders; C.Select FirstName NAME from CUSTOMERS; D,SELECT lastname Last Name FROM customers;1 7.以下ALTER語(yǔ)法不正確的是() A.ALTER TAHLE tl RENAME t2; B.ALTER TABLE t2 MODIFY a TINYINT NOT NULL; C.ALTER TABLE t2 MODIFY a TINYrNT NOT NULL, CHANGE b CHAR(20); D.ALTER TABLE t2 ADD c INT UNSIGNED NOT NULLAUTO_INCREMENT, ADD INDEX(c);1 8.下面哪一個(gè)不是有效的約束類型() A.PRIMARYKEYS B.UNIQUE C.CHECK D.FOREIGN KEY 19.MySQL.中表的默認(rèn)類型為() A.ISAM B.InnoDB C.MyISAM D.HE.AP 二、練習(xí)題 1.實(shí)現(xiàn)用戶注冊(cè)功能。需要建一張用戶信息表,并編寫(xiě)注冊(cè)和結(jié)果兩個(gè)頁(yè)面。用戶在注冊(cè)頁(yè)面填寫(xiě)注冊(cè)信息,提交到結(jié)果頁(yè)面后顯示注冊(cè)的結(jié)果。 具體要求: (1)在MySQL數(shù)據(jù)庫(kù)的test數(shù)據(jù)庫(kù)中,創(chuàng)建一張用于存放用戶注冊(cè)信息的表,表中有描用戶名”、“密碼”兩個(gè)字段,并且設(shè)置“用戶名”字段為主鍵; (2.)用戶注冊(cè)頁(yè)面要顯示一個(gè)輸入框、一個(gè)密碼框和一個(gè)“注冊(cè)”提交按鈕: (3)用戶單擊“注冊(cè)”按鈕時(shí),耍用JavaScript技術(shù)對(duì)用廣的輸入信息進(jìn)行判斷,包括 用戶名或者密碼不能為空,密碼的長(zhǎng)度必須大于6位,用戶名和密碼的長(zhǎng)度必須小于10位。假如用戶輸入不符合上述規(guī)范,則彈出相應(yīng)的錯(cuò)誤提示信息終止提交;只有當(dāng)用戶輸入滿足上規(guī)范時(shí),才允許將表單提交到結(jié)果頁(yè)面; (4)如果用戶名在表中已經(jīng)存在,則在結(jié)果頁(yè)面提示用戶重新輸入用戶名; (5)如果用戶名在表中不存在,則將用戶的注冊(cè)信息插入到數(shù)據(jù)庫(kù)中,并在結(jié)果頁(yè)面顯示“注冊(cè)成功”的提示信息; (6)用戶注冊(cè)成功后,在結(jié)果頁(yè)面顯示“現(xiàn)在已經(jīng)有×X位注冊(cè)用戶了!”并將所有的注 冊(cè)用戶信息以列表方式顯示出來(lái)。 2.在M.ySQL數(shù)據(jù)庫(kù),使用的用戶名為root,密碼為php。其中的一個(gè)數(shù)據(jù)庫(kù)名稱為lamp,其中的有兩個(gè)表名為type和border。下面為兩個(gè)表中的關(guān)系與數(shù)據(jù): 表type 表Border 編寫(xiě)一個(gè)腳本遍歷兩張表中的數(shù)據(jù)形成目錄結(jié)構(gòu),一級(jí)為type表中的數(shù)據(jù),每個(gè)類別下為border表中的數(shù)據(jù)。 具體要求: (1)數(shù)掘庫(kù)文件(具體操作語(yǔ)句)。 (2)正確顯示一級(jí)type表中數(shù)據(jù)。 (3)正確顯示每個(gè)類下border表中數(shù)據(jù)母 1.寫(xiě)一個(gè)函數(shù),盡可能高效的,從一個(gè)標(biāo)準(zhǔn) url 里取出文件的擴(kuò)展名 例如: http:// 語(yǔ)言中,頁(yè)面頭部的 meta 標(biāo)記可以用來(lái)輸出文件的編碼 格式,以下是一個(gè)標(biāo)準(zhǔn)的 meta 語(yǔ)句 請(qǐng)使用 PHP 語(yǔ)言寫(xiě)一個(gè)函數(shù),把一個(gè)標(biāo)準(zhǔn) HTML 頁(yè)面中的類似 meta 標(biāo)記中的 charset 部分值改為 big5 請(qǐng)注意:(1)需要處理完整的 html 頁(yè)面,即不光此 meta 語(yǔ)句(2)忽略大小寫(xiě) (3)? 和 ” 在此處是可以互換的 (4)?Content-Type? 兩側(cè)的引號(hào)是可以忽略的,但 ?text/html;charset=gbk? 兩側(cè)的不行(5)注意處理多余空格 3.寫(xiě)一個(gè)函數(shù),算出兩個(gè)文件的相對(duì)路徑 如 $a = ?/a/b/c/d/e.php?;$b = ?/a/b/12/34/c.php?; 計(jì)算出 $b 相對(duì)于 $a 的相對(duì)路徑應(yīng)該是../../c/d將()添上 4.寫(xiě)一個(gè)函數(shù),能夠遍歷一個(gè)文件夾下的所有文件和子文件夾。5.簡(jiǎn)述論壇中無(wú)限分類的實(shí)現(xiàn)原理。 6.設(shè)計(jì)一個(gè)網(wǎng)頁(yè),使得打開(kāi)它時(shí)彈出一個(gè)全屏的窗口,該窗口中有一個(gè)文本框和一個(gè)按鈕。用戶在文本框中輸入信息后點(diǎn)擊按鈕就可以把窗口關(guān)閉,而輸入的信息卻在主網(wǎng)頁(yè)中顯示。簡(jiǎn)述題(50分) 1、用PHP打印出前一天的時(shí)間格式是2006-5-10 22:21:21(2分) 2、echo(),print(),print_r()的區(qū)別(3分) 3、能夠使HTML和PHP分離開(kāi)使用的模板(1分) 5、使用哪些工具進(jìn)行版本控制?(1分) 6、如何實(shí)現(xiàn)字符串翻轉(zhuǎn)?(3分) 7、優(yōu)化MYSQL數(shù)據(jù)庫(kù)的方法。(4分,多寫(xiě)多得) 8、PHP的意思(送1分) 9、MYSQL取得當(dāng)前時(shí)間的函數(shù)是?,格式化日期的函數(shù)是(2分) 10、實(shí)現(xiàn)中文字串截取無(wú)亂碼的方法。(3分) 11、您是否用過(guò)版本控制軟件? 如果有您用的版本控制軟件的名字是?(1分) 12、您是否用過(guò)模板引擎? 如果有您用的模板引擎的名字是?(1分)phperz.com 13、請(qǐng)簡(jiǎn)單闡述您最得意的開(kāi)發(fā)之作(4分) 14、對(duì)于大流量的網(wǎng)站,您采用什么樣的方法來(lái)解決訪問(wèn)量問(wèn)題?(4分) 15、用PHP寫(xiě)出顯示客戶端IP與服務(wù)器IP的代碼1分) 16、語(yǔ)句include和require的區(qū)別是什么?為避免多次包含同一文件,可用(?)語(yǔ)句代替它們?(2分) 17、如何修改SESSION的生存時(shí)間(1分).18、有一個(gè)網(wǎng)頁(yè)地址, 比如PHP開(kāi)發(fā)資源網(wǎng)主頁(yè): http://,如何得到它的內(nèi)容?($1分) 19、在HTTP 1.0中,狀態(tài)碼401的含義是(?);如果返回“找不到文件”的提示,則可用 header 函數(shù),其語(yǔ)句為(?);(2分) 12、在PHP中,heredoc是一種特殊的字符串,它的結(jié)束標(biāo)志必須?(1分) 13、談?wù)刟sp,php,jsp的優(yōu)缺點(diǎn)(1分) 14、談?wù)剬?duì)mvc的認(rèn)識(shí)(1分) 15、寫(xiě)出發(fā)貼數(shù)最多的十個(gè)人名字的SQL,利用下表:members(id,username,posts,pass,email)(2分)16.請(qǐng)說(shuō)明php中傳值與傳引用的區(qū)別。什么時(shí)候傳值什么時(shí)候傳引用?(2分)php程序員站 17.在PHP中error_reporting這個(gè)函數(shù)有什么作用?(1分)18.請(qǐng)寫(xiě)一個(gè)函數(shù)驗(yàn)證電子郵件的格式是否正確(2分)19.簡(jiǎn)述如何得到當(dāng)前執(zhí)行腳本路徑,包括所得到參數(shù)。(2分)20.如何修改SESSION的生存時(shí)間.(1分) 21、JS表單彈出對(duì)話框函數(shù)是?獲得輸入焦點(diǎn)函數(shù)是?(2分) 22、JS的轉(zhuǎn)向函數(shù)是?怎么引入一個(gè)外部JS文件?(2分) 23、foo()和@foo()之間有什么區(qū)別?(1分) 24、如何聲明一個(gè)名為”myclass”的沒(méi)有方法和屬性的類?(1分) 25、如何實(shí)例化一個(gè)名為”myclass”的對(duì)象?(1分) 26、你如何訪問(wèn)和設(shè)置一個(gè)類的屬性?(2分) 27、mysql_fetch_row()和mysql_fetch_array之間有什么區(qū)別?(1分) 28、GD庫(kù)是做什么用的?(1分) 29、指出一些在PHP輸入一段HTML代碼的辦法。(1分)30、下面哪個(gè)函數(shù)可以打開(kāi)一個(gè)文件,以對(duì)文件進(jìn)行讀和寫(xiě)操作?(1分)(a)fget()(b)file_open() (c)fopen() (d)open_file()004km.cn 31、下面哪個(gè)選項(xiàng)沒(méi)有將 john 添加到users 數(shù)組中?(1分)(a)$users[] = ?john?; (b)array_add($users,?john?);(c)array_push($users,?john?);(d)$users ||= ?john?; 32、下面的程序會(huì)輸入是否?(1分) 33、使用php寫(xiě)一段簡(jiǎn)單查詢,查出所有姓名為“張三”的內(nèi)容并打印出來(lái)(2分)表名User Name Tel Content Date 張三 *** 大專畢業(yè) 2006-10-11 張三 *** 本科畢業(yè) 2006-10-15 張四 021-55665566 中專畢業(yè) 2006-10-15 請(qǐng)根據(jù)上面的題目完成代碼: $mysql_db=mysql_connect(“l(fā)ocal”,”root”,”pass”);004km.cn @mysql_select_db(“DB”,$mysql_db); 34、如何使用下面的類,并解釋下面什么意思?(3)class test{ function Get_test($num){ $num=md5(md5($num).”En”);return $num; } } 35、寫(xiě)出 SQL語(yǔ)句的格式 : 插入,更新,刪除(4分)表名User Name Tel Content Date 張三 *** 大專畢業(yè) 2006-10-11 張三 *** 本科畢業(yè) 2006-10-15 張四 021-55665566 中專畢業(yè) 2006-10-15(a)有一新記錄(小王 *** 高中畢業(yè) 2007-05-06)請(qǐng)用SQL語(yǔ)句新增至表中(b)請(qǐng)用sql語(yǔ)句把張三的時(shí)間更新成為當(dāng)前系統(tǒng)時(shí)間(c)請(qǐng)寫(xiě)出刪除名為張四的全部記錄 36、請(qǐng)寫(xiě)出數(shù)據(jù)類型(int char varchar datetime text)的意思;請(qǐng)問(wèn)varchar和char有什么區(qū)別(2分) 37、MySQ自增類型(通常為表ID字段)必需將其設(shè)為(?)字段(1分) 38、寫(xiě)出以下程序的輸出結(jié)果(1分) $b=201;$c=40;$a=$b>$c?4:5;echo $a;?> 39、檢測(cè)一個(gè)變量是否有設(shè)置的函數(shù)是否?是否為空的函數(shù)是?(2分)40、取得查詢結(jié)果集總數(shù)的函數(shù)是?(1分) 41、$arr = array(?james?, ?tom?, ?symfony?);請(qǐng)打印出第一個(gè)元素的值(1分) 42、請(qǐng)將41題的數(shù)組的值用?,'號(hào)分隔并合并成字串輸出(1分) 43、$a = ?abcdef?;請(qǐng)取出$a的值并打印出第一個(gè)字母(1分) 44、PHP可以和sql server/oracle等數(shù)據(jù)庫(kù)連接嗎?(1分) 45、請(qǐng)寫(xiě)出PHP5權(quán)限控制修飾符(3分) 46、請(qǐng)寫(xiě)出php5的構(gòu)造函數(shù)和析構(gòu)函數(shù)(2分) 47、以下請(qǐng)用PHPMYADMIN完成 (一)創(chuàng)建新聞發(fā)布系統(tǒng),表名為message有如下字段(3分)php程序員站 id 文章id title 文章標(biāo)題 content 文章內(nèi)容 category_id 文章分類id hits 點(diǎn)擊量 (二)同樣上述新聞發(fā)布系統(tǒng):表comment記錄用戶回復(fù)內(nèi)容,字段如下(4分)comment_id 回復(fù)id id 文章id,關(guān)聯(lián)message表中的id comment_content 回復(fù)內(nèi)容 現(xiàn)通過(guò)查詢數(shù)據(jù)庫(kù)需要得到以下格式的文章標(biāo)題列表,并按照回復(fù)數(shù)量排序,回復(fù)最高的排在最前面 文章id 文章標(biāo)題 點(diǎn)擊量 回復(fù)數(shù)量 用一個(gè)SQL語(yǔ)句完成上述查詢,如果文章沒(méi)有回復(fù)則回復(fù)數(shù)量顯示為0 (三)上述內(nèi)容管理系統(tǒng),表category保存分類信息,字段如下(3分)category_id int(4)not null auto_increment;categroy_name varchar(40)not null; PHP程序員初級(jí)面試題 一、解釋一下語(yǔ)句作用,并標(biāo)示出以下哪一句不會(huì)把 John 新增到 users 陣列? $users[] = 'john'; array_add($users,?john?); array_push($users,?john?); $users ||= 'john'; 二、sort()、assort()、和 ksort()有什么分別?它們分別在什么情況下使用? sort() asort() ksort() 三、以下的代碼會(huì)產(chǎn)生什么?為什么? $num =10;function multiply(){ $num =$num *10;} multiply();echo $num; 四、reference 跟一個(gè)正規(guī)的變量有什么分別?如何 pass by reference?在什么情況下我們需要這樣做? 五、哪些函式可以用來(lái)向正在執(zhí)行的腳本中插入函式庫(kù)? 六、foo()與 @foo()有什么分別? 七、你如何替 PHP 的應(yīng)用程式偵錯(cuò)? 八、“===”是什么?試舉一個(gè)“==”是真但“===”是假的例子。 九、你會(huì)如何定義一個(gè)沒(méi)有成員函式或特性的類別 myclass? 十、include 和 include_once 有什么分別?require 又如何? 十一、以下哪一個(gè)函式可以把瀏覽器轉(zhuǎn)向到另一個(gè)頁(yè)面? redir() header() location() redirect() 十二、以下哪一個(gè)函式可以用來(lái)開(kāi)啟檔案以便讀/寫(xiě)? fget() file_open() fopen() open_file() 十三、mysql_fetch_row()和 mysql_fetch_array()有什么分別? 十四、下面的代碼用來(lái)做什么?請(qǐng)解釋。 $date='08/26/2003';print ereg_replace(“([0-9]+)/([0-9]+)/([0-9]+)”,“[url=file://2///1///3%22,$date]2/1/3”,$date[/url]); 十五、試寫(xiě)出幾個(gè)輸出一段 HTML 代碼的方法。(一) 成功把 John 新增到陣列 users。函式 array_add()無(wú)定義。 成功把 John 新增到陣列 users。 語(yǔ)法錯(cuò)誤。 (二)根據(jù)陣列中元素的值,以英文字母順序排序,索引鍵會(huì)由 0 到 n-1 重新編號(hào)。主要是當(dāng)陣列索引鍵的值無(wú)關(guān)疼癢時(shí)用來(lái)把陣列排序。 與 sort()一樣把陣列的元素按英文字母順序來(lái)排列,不同的是所有索引鍵都獲得保留,特別適合替聯(lián)想陣列排序。 根據(jù)陣列中索引鍵的值,以英文字母順序排序,特別適合用于希望把索引鍵排序的聯(lián)想陣列。 (三)由于函式 multiply()沒(méi)有指定 $num 為全域變量(例如 global $num 或者 $_GLOBALS['num']),所以 $num 的值是 10。 (四)Reference 傳送的是變量的地址而非它的值,所以在函式中改變一個(gè)變量的值時(shí),整個(gè)應(yīng)用都見(jiàn)到這個(gè)變量的新值。一個(gè)正規(guī)變量傳送給函式的是它的值,當(dāng)函式改變這個(gè)變量的值時(shí),只有這個(gè)函式才見(jiàn)到新值,應(yīng)用的其他部分仍然見(jiàn)到舊值。 $myVariable = “its' value”;Myfunction(&$myVariable);// 以 reference 傳送參數(shù)以 reference 傳送參數(shù)給函式,可以使函式改變了的變量,即使在函式結(jié)束后仍然保留新值。 (五)對(duì)這道題目不同的理解會(huì)有不同的答案,我的第一個(gè)想法是插入 PHP 函式庫(kù)不外乎 include()、include_once()、require()、require_once(),但細(xì)心再想,“函式庫(kù)”也應(yīng)該包括 com 物件和.net 函式庫(kù),所以我們的答案也要分別包括 com_load 和 dotnet_load,下次有人提起“函式庫(kù)”的時(shí)候,別忘記這兩個(gè)函式。 (六)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)重的失誤,因?yàn)殄e(cuò)誤不該被隱藏,你必須妥善處理它們,可能的話解決它們。 (七)我并不常這樣做,我曾經(jīng)試過(guò)很多不同的偵錯(cuò)工具,在 Linux 系統(tǒng)中設(shè)定這些工具一點(diǎn)也不容易。不過(guò)以下我會(huì)介紹一個(gè)近來(lái)頗受注目的偵錯(cuò)工具。 PHPAPD,第一步是執(zhí)行以下的指令安裝: pear install apd安裝后在你的腳本的開(kāi)頭位置加入以下的語(yǔ)句開(kāi)始進(jìn)行偵錯(cuò): apd_set_pprof_trace();執(zhí)行完畢,打開(kāi)以下檔案來(lái)查閱執(zhí)行日志: apd.dumpdir 你也可以使用 pprofp 來(lái)格式化日志。 (八)“===”是給既可以送回布爾值“假”,也可以送回一個(gè)不是布爾值但卻可以賦與“假”值的函式,strpos()和 strrpos()便是其中兩個(gè)例子。 問(wèn)題的第二部份有點(diǎn)困難,想一個(gè)“==”是假,但是“===”是真的例子卻很容易,相反的例子卻很少。但我終于找到以下的例子: if(strpos(“abc”, “a”)== true){ // 這部分永不會(huì)被執(zhí)行,因?yàn)?“a” 的位置是 0,換算成布爾值“假”}if(strpos(“abc”, “a”)=== true){ // 這部份會(huì)被執(zhí)行,因?yàn)椤?==”保證函式 strpos()的送回值不會(huì)換算成布爾值.}(九) class myclass{}(十)$obj = new myclass();(十一) 使用語(yǔ)句:$this->propertyName,例如: class myclass{ private $propertyName;public function __construct(){ $this->propertyName = “value”;}}(十二) 三者都是用來(lái)在腳本中插入其他檔案,視乎 url_allow_fopen 是否核準(zhǔn),這個(gè)檔案可以從系統(tǒng)內(nèi)部或外部取得。但他們之間也有微細(xì)的分別: include():這個(gè)函式容許你在腳本中把同一個(gè)檔案插入多次,若果檔案不存在,它會(huì)發(fā)出系統(tǒng)警告并繼續(xù)執(zhí)行腳本。include_once():它跟 include()的功能相似,正如它的名字所示,在腳本的執(zhí)行期間,有關(guān)檔案只會(huì)被插入一次。require():跟 include()差不多,它也是用來(lái)在腳本中插入其他檔案,但若果檔案不存在,它會(huì)發(fā)出系統(tǒng)警告,這個(gè)警告會(huì)引致致命錯(cuò)誤令腳本中止執(zhí)行 (十三)這不是一個(gè) PHP 函式,會(huì)引致執(zhí)行錯(cuò)誤。 這個(gè)是正確答案,header()用來(lái)插入卷頭資料,可以用來(lái)使瀏覽器轉(zhuǎn)向到另一個(gè)頁(yè)面,例如: header(“Location: http:// 標(biāo)簽,為何要自行編寫(xiě)正規(guī)表達(dá)式?好了,便當(dāng)作是面試的一道考題吧,我會(huì)這樣回答: $stringOfText = ” This is a test第二篇:PHP課后
第三篇:php試題
第四篇:PHP面試題
這正是為何我老是告訴別人選擇適當(dāng)?shù)木幊陶Z(yǔ)言,若果你只用一種語(yǔ)言的話你怎么能回答這道問(wèn)題?這道問(wèn)題很簡(jiǎn)單,Perl 所有陣列變量都是以 @ 開(kāi)頭,例如 @myArray,PHP 則沿用 $ 作為所有變量的開(kāi)頭,例如 $myArray。至于 Perl 表示散列表則用 %,例如 %myHash,PHP 則沒(méi)有分別,仍是使用 $,例如
$myHash。
(十九)最主要的倆各選擇是 session 和 cookie。使用 session 的方法是在每一頁(yè)的開(kāi)始加上 session_start(),然后利用 $_SESSION 散列表來(lái)儲(chǔ)存 session 變量。至于 cookie 你只需記著一個(gè)原則:在輸出任何文字之前調(diào)用 set_cookie()函式,此外只需使用 $_COOKIE 散列表便可以存取所有 cookie 變量。
還有一個(gè)不那么可靠的方法,就是利用訪客的 IP 地址,這個(gè)方法有特定的危險(xiǎn)性。
(二十)這個(gè)可能是我最喜歡的函式庫(kù),自從 PHP 4.3.0 版本后 GD 便內(nèi)建在 PHP 系統(tǒng)中。這個(gè)函式庫(kù)讓你處理和顯示各式格式的圖檔,它的另一個(gè)常見(jiàn)用途是制作所圖檔。GD 以外的另一個(gè)選擇是 ImageMagick,但這個(gè)函式庫(kù)并不內(nèi)建于 PHP 之中,必須由系統(tǒng)管理員安裝在伺服器上。
(二十一)嗯,你可以使用 PHP 中任何一種輸出語(yǔ)句,包括 echo、print、printf,大部分人都使用如下例的 echo: echo ”My string $variable";你也可以使用這種方法:
echo <<
我們不要為一個(gè)簡(jiǎn)單的問(wèn)題引發(fā)一場(chǎng)舌戰(zhàn),正如我經(jīng)常說(shuō)的:“為工作選擇適合的語(yǔ)言,不要把工作遷就語(yǔ)言?!蔽覀€(gè)人認(rèn)為 Perl 十分適合用作命令行工具,雖然它在網(wǎng)頁(yè)應(yīng)用上也有不錯(cuò)的表現(xiàn),但是它的真正實(shí)力在命令行上才能充分發(fā)揮。同樣地,PHP 雖然可以在控制臺(tái)的環(huán)境中使用,但是個(gè)人認(rèn)為它在網(wǎng)頁(yè)應(yīng)用上有更好的表現(xiàn),PHP 有大量專門為網(wǎng)頁(yè)應(yīng)用而設(shè)計(jì)的函式,Perl 則似乎以命令行為設(shè)計(jì)之本。
個(gè)人來(lái)說(shuō)兩種語(yǔ)言我都喜歡,在大學(xué)期間我經(jīng)常使用 Perl、PHP 和 Java,可惜工作上我使用 C#,但在家里我花不少時(shí)間操練 PHP、Perl、Ruby(現(xiàn)正學(xué)習(xí))和 Java,保持我的技能知識(shí)在最新?tīng)顟B(tài)。很多人問(wèn)我 C 和 C++ 怎么樣,它們是否仍有機(jī)會(huì)在我的應(yīng)用中占一席位,我的答案基本上是“否”,我近來(lái)的工作主要集中在網(wǎng)頁(yè)開(kāi)發(fā),雖然 C 和 C++ 也可以用來(lái)寫(xiě)網(wǎng)頁(yè),但它們到底不是為這種工作而設(shè)計(jì)的,“為工作選擇適合的語(yǔ)言”,若果我需要編寫(xiě)一個(gè)控制臺(tái)應(yīng)用,用來(lái)展示 bubble sort、quick sort 和 merge sort 的效能比較,我一定會(huì)使用 C / C++。若果我需要編寫(xiě)一個(gè)相片簿系統(tǒng),我會(huì)使用 PHP 或者 C#(我認(rèn)為制作用戶介面方面.NET 語(yǔ)言比網(wǎng)頁(yè)更加)。
第五篇:php試題
1.mysql_connect()與@mysql_connect()的區(qū)別是(B)
A
@mysql_connect()不會(huì)忽略錯(cuò)誤,將錯(cuò)誤顯示到客戶端 B mysql_connect()不會(huì)忽略錯(cuò)誤,將錯(cuò)誤顯示到客戶端 C 沒(méi)有區(qū)別
D 功能不同的兩個(gè)函數(shù)
2.語(yǔ)句for($k=0;$k=1;$k++);和語(yǔ)句for($k=0;$k==1;$k++);執(zhí)行的次數(shù)分別是: A
A
無(wú)限和0
B 0和無(wú)限
C 都是無(wú)限
D 都是0
3.讀取post方法傳遞的表單元素值的方法是: B
A
$_post[“名稱”]
B $_POST[“名稱”]
C $post[“名稱”]
D $POST[“名稱”]
4.php運(yùn)算符中,優(yōu)先級(jí)從高到低分別是()B
A
關(guān)系運(yùn)算符,邏輯運(yùn)算符,算術(shù)運(yùn)算符
B 算術(shù)運(yùn)算符,關(guān)系運(yùn)算符,邏輯運(yùn)算符
C 邏輯運(yùn)算符,算術(shù)運(yùn)算符,關(guān)系運(yùn)算符
D 關(guān)系運(yùn)算符,算術(shù)運(yùn)算符,邏輯運(yùn)算符
5.cookie的值存儲(chǔ)在()C
A
硬盤中
B 程序中
C 客戶端
D 服務(wù)器端
6.要查看一個(gè)變量的數(shù)據(jù)類型,可使用函數(shù)()B
A
type()
B gettype()
C GetType()
D Type()
7.字符串的比較,是按()進(jìn)行比較。B
A
拼音順序
B ASCII碼值
C 隨機(jī)
D 先后順序
8.復(fù)選框的type屬性值是()A
A
checkbox
B radio
C select
D check
9.SESSION會(huì)話的值存儲(chǔ)在()D
A
硬盤上
B 網(wǎng)頁(yè)中
C 客戶端
D 服務(wù)器端
10.如果想取得最近一條查詢的信息,應(yīng)該使用哪個(gè)函數(shù)()A
A
mysql_info
B mysql_stat
C mysql_insert_id()
D mysql_free_result
11.要查看一個(gè)結(jié)構(gòu)類型變量的值,可以使用函數(shù)()
D
A
Print()
B print()
C Print_r()
D print_r()
12.在PHP中哪個(gè)變量數(shù)組總是包含所有總客戶端發(fā)出的cookies數(shù)據(jù)(A
$_COOKIE
B $_COOKIES
C $_GETCOOKIE
D $_GETCOOKIES
13.下列哪個(gè)說(shuō)法是錯(cuò)誤的()D
A
gettype()是查看數(shù)據(jù)類型的B 沒(méi)有被賦值的變量是0
C unset()是被認(rèn)為NULL
D 雙引號(hào)字符串最重要的一點(diǎn)是其中的變量名會(huì)被變量值替代
14.HTML中,超鏈接用的是什么標(biāo)簽 A
A
〈a>
B 〈table>
C 〈b>
D 〈head>
15.strtolower()函數(shù)的功能是()
A
upper 轉(zhuǎn)為大寫(xiě)
A
將給定的字符串全部轉(zhuǎn)換為小寫(xiě)字母
B 將給定的字符串全部轉(zhuǎn)換為大寫(xiě)字母
C 將給定的字符串首字母轉(zhuǎn)換為小寫(xiě)字母
D 將給定的字符串首字母轉(zhuǎn)換為大寫(xiě)字母)A
16.HTML中,表格單元格的“值”是存儲(chǔ)在()標(biāo)簽里
B
A
〈body>
B 〈td>
C 〈tr>
D 〈table>
REFDVCD |
A
intval()
B strval()
C str
D valint()
18.php中字符串的連接運(yùn)算符是()
D
A
B +
C &
D.19.php函數(shù)不支持的功能有:
C
A
可變的參數(shù)個(gè)數(shù)
B 通過(guò)引用傳遞參數(shù)
C 通過(guò)指針傳遞參數(shù)
D 實(shí)現(xiàn)遞歸函數(shù)
20.文件框的type屬性值是()C
A
text
B hidden
C textarea
D checkbox
21.運(yùn)算符“^”的作用是()D
A
無(wú)效
B 乘方
C 位非
D 位異或
22.自定義函數(shù)中,返回函數(shù)值的關(guān)鍵字是()
A
returns
B close
A
C return
D back
23.24.要檢查一個(gè)常量是否定義,可以使用函數(shù)()
A
A
defined()
B isdefin()
C isdefined()
D 無(wú)
25.關(guān)于mysql_select_db的作用描述正確的是()
A
連接數(shù)據(jù)庫(kù)
B 連接并選取數(shù)據(jù)庫(kù)
C 連接并打開(kāi)數(shù)據(jù)庫(kù)
D 選取數(shù)據(jù)庫(kù)
26.HTML中,title標(biāo)簽放在什么位置
B
A
body標(biāo)簽里
B head標(biāo)簽里
C script標(biāo)簽里
D table標(biāo)簽里
27.使用()函數(shù)可以求得數(shù)組的大小
A
A
count()
B conut()
C $_COUNT[“名稱”]
D $_CONUT[“名稱”]
28.從隊(duì)列數(shù)組隊(duì)頭刪除數(shù)據(jù)可以使用()函數(shù)。
A
array_push()
B array_pop()
C array_shift()
D array_unshift()
29.在html中嵌入javaScript,應(yīng)該使用的標(biāo)記是()
A
〈script language=“javascript”>
B 〈head> 〈/head>
C 〈body> 〈/body>
D 〈!--....//..>
30.以下代碼運(yùn)行結(jié)果()C $A=array(“Monday”,“Tuesday”,3=>“Wednesday”);
D C A
echo $A[2];
A
Monday B Tuesday C Wednesday D 沒(méi)有顯示
31.新建一個(gè)數(shù)組的函數(shù)是()
A
A
array
B next
C count
D reset
32.下列不正確的變量名是()
B
A
$_test
B $2abc
C $Var
D $printr
33.讀取get方法傳遞的表單元素值的方法是: A
A
$_GET[“名稱”]
B $get[“名稱”]
C $GEG[“名稱”]
D $_get[“名稱”]
34.函數(shù)var_dump的意義是()C
A
定義數(shù)組
B 遍歷數(shù)組
C 輸出變量的相關(guān)信息
D 遞歸數(shù)組
35.strtoupper()函數(shù)的功能是: A
A
將給定字符串全部轉(zhuǎn)換為大寫(xiě)字母。
B 將給定字符串全部轉(zhuǎn)換為小寫(xiě)字母。
C 將給定字符串首字母轉(zhuǎn)換為大寫(xiě)字母。
D 將給定字符串首字母轉(zhuǎn)換為小寫(xiě)字母。
36.以下代碼的運(yùn)行結(jié)果是()A
if($i=“")
{echo ”a“;}
else
{echo ”b“;
} ?>
A
輸出a
B 輸出b
C 條件不足,無(wú)法確定
D 運(yùn)行出錯(cuò)
37.在str_replace(1,2,3)函數(shù)中1 2 3 所代表的名稱是()
B
A
”取代字符串","被取代字符串","來(lái)源字符串"
B "被取代字符串",“取代字符串","來(lái)源字符串"
C "來(lái)源字符串",”取代字符串","被取代字符串"
D "來(lái)源字符串","被取代字符串",“取代字符串"
38.瀏覽網(wǎng)頁(yè)時(shí),看到的內(nèi)容是HTML的哪一部分? C
A
title
B table
C body
D head
39.運(yùn)算符”%“的作用是()C
A
無(wú)效
B 取整
C 取余
D 除
40.file()函數(shù)返回的數(shù)據(jù)類型是()
A
A
數(shù)組
B 字符串
C 整型
D 根據(jù)文件來(lái)定
41.計(jì)算字符串長(zhǎng)度的函數(shù)是()A
A
strlen()
B len()
C stringlen()
D lens()
42.a(chǎn)rray_push()的作用是()C
A
將數(shù)組的第一個(gè)元素彈出
B 將數(shù)組的最后一個(gè)元素彈出
C 將一個(gè)或多個(gè)元素壓入數(shù)組的末尾
D 將一個(gè)或多個(gè)元素插入數(shù)組的開(kāi)頭
43.isset()的功能是()
A
A
測(cè)試變量是否存在B 測(cè)試變量是否為空
C 測(cè)試常量是否為空
D 測(cè)試常量是否存在
44.定義靜態(tài)變量的關(guān)鍵字是()
A
A
static
B statics
C STATIC
D STATICS
45.以下屬于忽略鍵名數(shù)組排序的是()
D
A
natsort
B ksort
C asort
D sort
46.empty()的功能是:
A
A
測(cè)試變量是否為空
B 測(cè)試變量是否存在C 測(cè)試常量是否為空
D 測(cè)試常量是否存在
47.瀏覽網(wǎng)頁(yè)時(shí),看到的內(nèi)容是HTML的哪一部分?
C
A
title
B table
C body
D head
48.自定義用戶常量,可以使用()函數(shù).B
A
Define()
B define()
C Defin()
D defin()
49.執(zhí)行下列代碼后的結(jié)果是()$x=15;echo $x++;$y=20;echo ++$y;
A
15,20
B 15,21
C 16,20
D 16,21
50.申明全局變量的關(guān)鍵字是()B
A
globals
B global
C GLOBAL
D 無(wú)
多項(xiàng)選擇題:(共12題,每題5分)
B.cd C.opendir D.rmdir 1.在返回?cái)?shù)組中的所有值,可以使用array_value()函數(shù) T
B 2.運(yùn)算符“++”可以對(duì)常量和變量進(jìn)行累加1 F 3.php語(yǔ)言中的數(shù)值型字符串可以和數(shù)字變量進(jìn)行混合運(yùn)算.T 4.php中,雙引號(hào)字符串支持變量解析以及轉(zhuǎn)義字符.T 5.php語(yǔ)言中的數(shù)值型字符串不可以和數(shù)字變量進(jìn)行混合運(yùn)算.F 6.PHP程序的擴(kuò)展名必須是.php F 7.php中,字符串是用引號(hào)引起來(lái)的字符,單引號(hào)和雙引號(hào)沒(méi)有區(qū)別,都是一樣的,隨便用哪一個(gè)都是一樣的.F 8.if條件控制語(yǔ)句中,if后面的{ }可有可無(wú),意義一樣。F 9.一個(gè)MySQL服務(wù)器,可以擁有多個(gè)數(shù)據(jù)庫(kù),每個(gè)數(shù)據(jù)庫(kù)可擁有多個(gè)表.T 10.MS-server200與mysql一樣,同屬微軟公司的產(chǎn)品,用于軟件開(kāi)發(fā)的數(shù)據(jù)庫(kù)支持 F 11.運(yùn)算符“--”可以對(duì)常量和變量進(jìn)行自身減1 F 12.php中,單引號(hào)字符串不支持變量解析以及轉(zhuǎn)義字符.T 13.if條件控制語(yǔ)句中,if后面的{ }不能省略。F 14.< f orm id=”form1“ name=”form1“ method=”“ action=”“ >,默認(rèn)的method使用get進(jìn)行值傳遞。F 15.〈 form id=”form1“ name=”form1“ method=”“ action=”">,默認(rèn)的method使用post進(jìn)行值傳遞。F 16.常量的作用域是全局的,不存在全局與局部的概念.T 17.if條件控制語(yǔ)句中,if后面必須加括號(hào) T 18.使用get和post傳遞表單值沒(méi)有什么區(qū)別,可以隨便選擇一種使用.F 19.php中,在任何時(shí)候,雙引號(hào)和單引號(hào)都是不一樣的.F 20.運(yùn)算符“++”只能對(duì)常量進(jìn)行自身加1 F 21.if條件控制語(yǔ)句中,if后面的{ }可有可無(wú)。F 22.PHP跟ASP一樣,只能應(yīng)用IIS架設(shè)服務(wù)器 F 23.MySQL可以建立個(gè)用戶,但每個(gè)用戶的權(quán)限一樣,僅是名稱不一樣而已.F 24.php中,()與{ }具有不一樣的功能。T 25.php中可以使用method=post的方式進(jìn)行文件上傳 F 26.php中,==與===是同一個(gè)運(yùn)算符。F 27.MySQL數(shù)據(jù)庫(kù)可以建立多個(gè)用戶,且各個(gè)用戶的權(quán)限可以分別設(shè)置.T 30.a(chǎn)rray_search()與in_array()函數(shù)均可用來(lái)查詢數(shù)組中元素的值。F 31.PHP是微軟公司開(kāi)發(fā)的,應(yīng)用于設(shè)計(jì)網(wǎng)頁(yè)的語(yǔ)言 F 32.php中,雙引號(hào)和單引號(hào)在某些時(shí)候具有不同的意義,在某些時(shí)候具有相同的意義.T 33.a(chǎn)rray_unshift()函數(shù)在數(shù)組的末尾插入一個(gè)或多個(gè)元素,返回成功插入后的總元素個(gè)數(shù)。F 34.current()和pos()均可返回?cái)?shù)組中的當(dāng)前單元。F 35.在返回?cái)?shù)組中的所有值,可以使用array_keys()函數(shù) F 36.php中,函數(shù)默認(rèn)按值傳遞參數(shù)。T 37.php中,雙引號(hào)字符串不支持變量解析以及轉(zhuǎn)義字符.F 38.session與cookie只是名稱不同,實(shí)質(zhì)上沒(méi)有什么區(qū)別,均可用于實(shí)現(xiàn)用戶登錄等功能.F 39.運(yùn)算符“++”只能對(duì)變量的值自身累加1 F 40.安裝Windows XP后,系統(tǒng)默認(rèn)狀態(tài)沒(méi)有安裝PHP環(huán)境;而安裝Windows 2003后,系統(tǒng)自動(dòng)安裝了PHP環(huán)境,不用我們?cè)侔惭b.F