第一篇:php試題(大全)
1.寫一個函數(shù),盡可能高效的,從一個標(biāo)準(zhǔn) url 里取出文件的擴(kuò)展名
例如: http:// 語言中,頁面頭部的 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)該是../../c/d將()添上
4.寫一個函數(shù),能夠遍歷一個文件夾下的所有文件和子文件夾。5.簡述論壇中無限分類的實現(xiàn)原理。
6.設(shè)計一個網(wǎng)頁,使得打開它時彈出一個全屏的窗口,該窗口中有一個文本框和一個按鈕。用戶在文本框中輸入信息后點擊按鈕就可以把窗口關(guān)閉,而輸入的信息卻在主網(wǎng)頁中顯示。簡述題(50分)
1、用PHP打印出前一天的時間格式是2006-5-10 22:21:21(2分)
2、echo(),print(),print_r()的區(qū)別(3分)
3、能夠使HTML和PHP分離開使用的模板(1分)
5、使用哪些工具進(jìn)行版本控制?(1分)
6、如何實現(xiàn)字符串翻轉(zhuǎn)?(3分)
7、優(yōu)化MYSQL數(shù)據(jù)庫的方法。(4分,多寫多得)
8、PHP的意思(送1分)
9、MYSQL取得當(dāng)前時間的函數(shù)是?,格式化日期的函數(shù)是(2分)
10、實現(xiàn)中文字串截取無亂碼的方法。(3分)
11、您是否用過版本控制軟件? 如果有您用的版本控制軟件的名字是?(1分)
12、您是否用過模板引擎? 如果有您用的模板引擎的名字是?(1分)phperz.com
13、請簡單闡述您最得意的開發(fā)之作(4分)
14、對于大流量的網(wǎng)站,您采用什么樣的方法來解決訪問量問題?(4分)
15、用PHP寫出顯示客戶端IP與服務(wù)器IP的代碼1分)
16、語句include和require的區(qū)別是什么?為避免多次包含同一文件,可用(?)語句代替它們?(2分)
17、如何修改SESSION的生存時間(1分).18、有一個網(wǎng)頁地址, 比如PHP開發(fā)資源網(wǎng)主頁: http://,如何得到它的內(nèi)容?($1分)
19、在HTTP 1.0中,狀態(tài)碼401的含義是(?);如果返回“找不到文件”的提示,則可用 header 函數(shù),其語句為(?);(2分)
12、在PHP中,heredoc是一種特殊的字符串,它的結(jié)束標(biāo)志必須?(1分)
13、談?wù)刟sp,php,jsp的優(yōu)缺點(1分)
14、談?wù)剬vc的認(rèn)識(1分)
15、寫出發(fā)貼數(shù)最多的十個人名字的SQL,利用下表:members(id,username,posts,pass,email)(2分)16.請說明php中傳值與傳引用的區(qū)別。什么時候傳值什么時候傳引用?(2分)php程序員站
17.在PHP中error_reporting這個函數(shù)有什么作用?(1分)18.請寫一個函數(shù)驗證電子郵件的格式是否正確(2分)19.簡述如何得到當(dāng)前執(zhí)行腳本路徑,包括所得到參數(shù)。(2分)20.如何修改SESSION的生存時間.(1分)
21、JS表單彈出對話框函數(shù)是?獲得輸入焦點函數(shù)是?(2分)
22、JS的轉(zhuǎn)向函數(shù)是?怎么引入一個外部JS文件?(2分)
23、foo()和@foo()之間有什么區(qū)別?(1分)
24、如何聲明一個名為”myclass”的沒有方法和屬性的類?(1分)
25、如何實例化一個名為”myclass”的對象?(1分)
26、你如何訪問和設(shè)置一個類的屬性?(2分)
27、mysql_fetch_row()和mysql_fetch_array之間有什么區(qū)別?(1分)
28、GD庫是做什么用的?(1分)
29、指出一些在PHP輸入一段HTML代碼的辦法。(1分)30、下面哪個函數(shù)可以打開一個文件,以對文件進(jìn)行讀和寫操作?(1分)(a)fget()(b)file_open()
(c)fopen()
(d)open_file()004km.cn
31、下面哪個選項沒有將 john 添加到users 數(shù)組中?(1分)(a)$users[] = ?john?;
(b)array_add($users,?john?);(c)array_push($users,?john?);(d)$users ||= ?john?;
32、下面的程序會輸入是否?(1分)
33、使用php寫一段簡單查詢,查出所有姓名為“張三”的內(nèi)容并打印出來(2分)表名User Name Tel Content Date 張三 *** 大專畢業(yè) 2006-10-11 張三 *** 本科畢業(yè) 2006-10-15 張四 021-55665566 中專畢業(yè) 2006-10-15 請根據(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、寫出 SQL語句的格式 : 插入,更新,刪除(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)請用SQL語句新增至表中(b)請用sql語句把張三的時間更新成為當(dāng)前系統(tǒng)時間(c)請寫出刪除名為張四的全部記錄
36、請寫出數(shù)據(jù)類型(int char varchar datetime text)的意思;請問varchar和char有什么區(qū)別(2分)
37、MySQ自增類型(通常為表ID字段)必需將其設(shè)為(?)字段(1分)
38、寫出以下程序的輸出結(jié)果(1分) $b=201;$c=40;$a=$b>$c?4:5;echo $a;?>
39、檢測一個變量是否有設(shè)置的函數(shù)是否?是否為空的函數(shù)是?(2分)40、取得查詢結(jié)果集總數(shù)的函數(shù)是?(1分)
41、$arr = array(?james?, ?tom?, ?symfony?);請打印出第一個元素的值(1分)
42、請將41題的數(shù)組的值用?,'號分隔并合并成字串輸出(1分)
43、$a = ?abcdef?;請取出$a的值并打印出第一個字母(1分)
44、PHP可以和sql server/oracle等數(shù)據(jù)庫連接嗎?(1分)
45、請寫出PHP5權(quán)限控制修飾符(3分)
46、請寫出php5的構(gòu)造函數(shù)和析構(gòu)函數(shù)(2分)
47、以下請用PHPMYADMIN完成
(一)創(chuàng)建新聞發(fā)布系統(tǒng),表名為message有如下字段(3分)php程序員站 id 文章id title 文章標(biāo)題 content 文章內(nèi)容
category_id 文章分類id hits 點擊量
(二)同樣上述新聞發(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)通過查詢數(shù)據(jù)庫需要得到以下格式的文章標(biāo)題列表,并按照回復(fù)數(shù)量排序,回復(fù)最高的排在最前面
文章id 文章標(biāo)題 點擊量 回復(fù)數(shù)量
用一個SQL語句完成上述查詢,如果文章沒有回復(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試題
1.mysql_connect()與@mysql_connect()的區(qū)別是(B)
A
@mysql_connect()不會忽略錯誤,將錯誤顯示到客戶端 B mysql_connect()不會忽略錯誤,將錯誤顯示到客戶端 C 沒有區(qū)別
D 功能不同的兩個函數(shù)
2.語句for($k=0;$k=1;$k++);和語句for($k=0;$k==1;$k++);執(zhí)行的次數(shù)分別是: A
A
無限和0
B 0和無限
C 都是無限
D 都是0
3.讀取post方法傳遞的表單元素值的方法是: B
A
$_post[“名稱”]
B $_POST[“名稱”]
C $post[“名稱”]
D $POST[“名稱”]
4.php運算符中,優(yōu)先級從高到低分別是()B
A
關(guān)系運算符,邏輯運算符,算術(shù)運算符
B 算術(shù)運算符,關(guān)系運算符,邏輯運算符
C 邏輯運算符,算術(shù)運算符,關(guān)系運算符
D 關(guān)系運算符,算術(shù)運算符,邏輯運算符
5.cookie的值存儲在()C
A
硬盤中
B 程序中
C 客戶端
D 服務(wù)器端
6.要查看一個變量的數(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會話的值存儲在()D
A
硬盤上
B 網(wǎng)頁中
C 客戶端
D 服務(wù)器端
10.如果想取得最近一條查詢的信息,應(yīng)該使用哪個函數(shù)()A
A
mysql_info
B mysql_stat
C mysql_insert_id()
D mysql_free_result
11.要查看一個結(jié)構(gòu)類型變量的值,可以使用函數(shù)()
D
A
Print()
B print()
C Print_r()
D print_r()
12.在PHP中哪個變量數(shù)組總是包含所有總客戶端發(fā)出的cookies數(shù)據(jù)(A
$_COOKIE
B $_COOKIES
C $_GETCOOKIE
D $_GETCOOKIES
13.下列哪個說法是錯誤的()D
A
gettype()是查看數(shù)據(jù)類型的B 沒有被賦值的變量是0
C unset()是被認(rèn)為NULL
D 雙引號字符串最重要的一點是其中的變量名會被變量值替代
14.HTML中,超鏈接用的是什么標(biāo)簽 A
A
〈a>
B 〈table>
C 〈b>
D 〈head>
15.strtolower()函數(shù)的功能是()
A
upper 轉(zhuǎn)為大寫
A
將給定的字符串全部轉(zhuǎn)換為小寫字母
B 將給定的字符串全部轉(zhuǎn)換為大寫字母
C 將給定的字符串首字母轉(zhuǎn)換為小寫字母
D 將給定的字符串首字母轉(zhuǎn)換為大寫字母)A
16.HTML中,表格單元格的“值”是存儲在()標(biāo)簽里
B
A
〈body>
B 〈td>
C 〈tr>
D 〈table>
REFDVCD |
A
intval()
B strval()
C str
D valint()
18.php中字符串的連接運算符是()
D
A
B +
C &
D.19.php函數(shù)不支持的功能有:
C
A
可變的參數(shù)個數(shù)
B 通過引用傳遞參數(shù)
C 通過指針傳遞參數(shù)
D 實現(xiàn)遞歸函數(shù)
20.文件框的type屬性值是()C
A
text
B hidden
C textarea
D checkbox
21.運算符“^”的作用是()D
A
無效
B 乘方
C 位非
D 位異或
22.自定義函數(shù)中,返回函數(shù)值的關(guān)鍵字是()
A
returns
B close
A
C return
D back
23.24.要檢查一個常量是否定義,可以使用函數(shù)()
A
A
defined()
B isdefin()
C isdefined()
D 無
25.關(guān)于mysql_select_db的作用描述正確的是()
A
連接數(shù)據(jù)庫
B 連接并選取數(shù)據(jù)庫
C 連接并打開數(shù)據(jù)庫
D 選取數(shù)據(jù)庫
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.從隊列數(shù)組隊頭刪除數(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.以下代碼運行結(jié)果()C $A=array(“Monday”,“Tuesday”,3=>“Wednesday”);
D C A
echo $A[2];
A
Monday B Tuesday C Wednesday D 沒有顯示
31.新建一個數(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)換為大寫字母。
B 將給定字符串全部轉(zhuǎn)換為小寫字母。
C 將給定字符串首字母轉(zhuǎn)換為大寫字母。
D 將給定字符串首字母轉(zhuǎn)換為小寫字母。
36.以下代碼的運行結(jié)果是()A
if($i=“")
{echo ”a“;}
else
{echo ”b“;
} ?>
A
輸出a
B 輸出b
C 條件不足,無法確定
D 運行出錯
37.在str_replace(1,2,3)函數(shù)中1 2 3 所代表的名稱是()
B
A
”取代字符串","被取代字符串","來源字符串"
B "被取代字符串",“取代字符串","來源字符串"
C "來源字符串",”取代字符串","被取代字符串"
D "來源字符串","被取代字符串",“取代字符串"
38.瀏覽網(wǎng)頁時,看到的內(nèi)容是HTML的哪一部分? C
A
title
B table
C body
D head
39.運算符”%“的作用是()C
A
無效
B 取整
C 取余
D 除
40.file()函數(shù)返回的數(shù)據(jù)類型是()
A
A
數(shù)組
B 字符串
C 整型
D 根據(jù)文件來定
41.計算字符串長度的函數(shù)是()A
A
strlen()
B len()
C stringlen()
D lens()
42.a(chǎn)rray_push()的作用是()C
A
將數(shù)組的第一個元素彈出
B 將數(shù)組的最后一個元素彈出
C 將一個或多個元素壓入數(shù)組的末尾
D 將一個或多個元素插入數(shù)組的開頭
43.isset()的功能是()
A
A
測試變量是否存在B 測試變量是否為空
C 測試常量是否為空
D 測試常量是否存在
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
測試變量是否為空
B 測試變量是否存在C 測試常量是否為空
D 測試常量是否存在
47.瀏覽網(wǎng)頁時,看到的內(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 無
多項選擇題:(共12題,每題5分)
B.cd C.opendir D.rmdir 1.在返回數(shù)組中的所有值,可以使用array_value()函數(shù) T
B 2.運算符“++”可以對常量和變量進(jìn)行累加1 F 3.php語言中的數(shù)值型字符串可以和數(shù)字變量進(jìn)行混合運算.T 4.php中,雙引號字符串支持變量解析以及轉(zhuǎn)義字符.T 5.php語言中的數(shù)值型字符串不可以和數(shù)字變量進(jìn)行混合運算.F 6.PHP程序的擴(kuò)展名必須是.php F 7.php中,字符串是用引號引起來的字符,單引號和雙引號沒有區(qū)別,都是一樣的,隨便用哪一個都是一樣的.F 8.if條件控制語句中,if后面的{ }可有可無,意義一樣。F 9.一個MySQL服務(wù)器,可以擁有多個數(shù)據(jù)庫,每個數(shù)據(jù)庫可擁有多個表.T 10.MS-server200與mysql一樣,同屬微軟公司的產(chǎn)品,用于軟件開發(fā)的數(shù)據(jù)庫支持 F 11.運算符“--”可以對常量和變量進(jìn)行自身減1 F 12.php中,單引號字符串不支持變量解析以及轉(zhuǎn)義字符.T 13.if條件控制語句中,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條件控制語句中,if后面必須加括號 T 18.使用get和post傳遞表單值沒有什么區(qū)別,可以隨便選擇一種使用.F 19.php中,在任何時候,雙引號和單引號都是不一樣的.F 20.運算符“++”只能對常量進(jìn)行自身加1 F 21.if條件控制語句中,if后面的{ }可有可無。F 22.PHP跟ASP一樣,只能應(yīng)用IIS架設(shè)服務(wù)器 F 23.MySQL可以建立個用戶,但每個用戶的權(quán)限一樣,僅是名稱不一樣而已.F 24.php中,()與{ }具有不一樣的功能。T 25.php中可以使用method=post的方式進(jìn)行文件上傳 F 26.php中,==與===是同一個運算符。F 27.MySQL數(shù)據(jù)庫可以建立多個用戶,且各個用戶的權(quán)限可以分別設(shè)置.T 30.a(chǎn)rray_search()與in_array()函數(shù)均可用來查詢數(shù)組中元素的值。F 31.PHP是微軟公司開發(fā)的,應(yīng)用于設(shè)計網(wǎng)頁的語言 F 32.php中,雙引號和單引號在某些時候具有不同的意義,在某些時候具有相同的意義.T 33.a(chǎn)rray_unshift()函數(shù)在數(shù)組的末尾插入一個或多個元素,返回成功插入后的總元素個數(shù)。F 34.current()和pos()均可返回數(shù)組中的當(dāng)前單元。F 35.在返回數(shù)組中的所有值,可以使用array_keys()函數(shù) F 36.php中,函數(shù)默認(rèn)按值傳遞參數(shù)。T 37.php中,雙引號字符串不支持變量解析以及轉(zhuǎn)義字符.F 38.session與cookie只是名稱不同,實質(zhì)上沒有什么區(qū)別,均可用于實現(xiàn)用戶登錄等功能.F 39.運算符“++”只能對變量的值自身累加1 F 40.安裝Windows XP后,系統(tǒng)默認(rèn)狀態(tài)沒有安裝PHP環(huán)境;而安裝Windows 2003后,系統(tǒng)自動安裝了PHP環(huán)境,不用我們再安裝.F
第三篇:PHP筆試題+答案
程序開發(fā) 卷1
PHP程序員考題
考試說明:
1、試卷總分為100分。
2、本次考試時間為120分鐘。
一、邏輯推理題(9分,每題3分)
1.Jack夫婦請了Tom夫婦和Henrry夫婦來他們家玩撲克。這種撲克游戲有一種規(guī)則,夫婦兩個不能一組。Jack跟Lily一組,Tom的隊友是Henrry的妻子,Linda的丈夫和Sara一組。那么這三對夫婦分別為:(B)A. Jack—Sara,Tom—linda,Henrry—Lily B. Jack—Sara,Tom—Lily,Henrry—linda C. Jack—linda,Tom—Lily,Henrry—Sara D. Jack—Lily,Tom—Sara,Henrry—linda
2.有17根11.1米長的鋼管,要截成1.0米和0.7米的甲、乙兩種長度的管子,要求截成的甲、乙兩種管子的數(shù)量一樣多。問:最多能截出甲、乙兩種管子各多少根?(C)A.99 B.105 C.111 D.121
3.一個水庫在年降水量不變的情況下,能夠維持全市12萬人20年得用水量。在該市新遷入3萬人之后,該水庫只夠維持15年得用水量。市政府號召節(jié)約用水,希望能將水庫的使用壽命提高到30年。那么該市市民平均需要節(jié)約多少比例的水才能實現(xiàn)政府制定的目標(biāo)?(A)A.2/5 B.2/7 C.1/3 D.1/4
二、PHP語言題(36分,每題3分)
1.語句for($k=0;$k=1;$k++);和語句for($k=0;$k==1;$k++);執(zhí)行的次數(shù)分別是(3分): A 無限和0 B 0和無限 C 都是無限 D 都是0 參考答案:A
2.讀取post方法傳遞的表單元素值的方法是(3分): A $_post[“名稱”] B $_POST[“名稱”] C $post[“名稱”] D $POST[“名稱”] 參考答案:B
3.下面哪個函數(shù)可以打開一個文件,以對文件進(jìn)行讀和寫操作?(3分)A fget()
程序開發(fā) 卷1
B file_open()C fopen()D open_file()參考答案:C
4.下面哪個選項沒有將 john 添加到users 數(shù)組中?(3分)(a)$users[] = ‘john’;(b)array_add($users,’john’);(c)array_push($users,‘john’);(d)$users ||= ‘john’;參考答案:B
5.PHP是一種______腳本語言,基于______引擎。PHP最常被用來開發(fā)動態(tài)的______內(nèi)容,此外,它同樣還可被用來生成______(以及其他)文檔。(3分)A.動態(tài),PHP,數(shù)據(jù)庫,HTML B.嵌入式,Zend,HTML,XML C.基于Perl的,PHP,Web,靜態(tài) D.嵌入式,Zend,Docbook文檔,MySQL E.基于Zend的,PHP,圖像,HTML 參考答案:B
6.函數(shù)的形參與實參之間的數(shù)值傳遞方式有哪些?如何傳遞?(5分)
答:(1)按值傳遞方式,將實參的值復(fù)制到對應(yīng)的形參中,在函數(shù)內(nèi)部的操作針對形參進(jìn)行,操作的結(jié)果不會影響到實參,即函數(shù)返回值,實參的值不會改變。
(2)按引用傳遞方式,按引用傳遞方式就是引用將實參的內(nèi)存地址傳遞到形參中,這時在函數(shù)內(nèi)部的所有的操作都會影響到實參的值,返回后實參的值會發(fā)生變化,引用傳遞方式就是傳遞時在原基礎(chǔ)上加&號即可。
(3)默認(rèn)函數(shù)(可選參數(shù))。可選參數(shù)指定某個參數(shù)為可選參數(shù),將可選參數(shù)放在參數(shù)引表末尾,并且指定其默認(rèn)值為空。
7.定義:$str=”a1b2c3”,請寫出下面兩種匹配的結(jié)果以及解釋一下兩者的區(qū)別。(5分)preg_match(‘/[w]*[d]+/i’),$str,$ary);echo $ary[0];preg_match(‘/[w]*?[d]+/i’,$str,$ary);echo $ary[0];參考答案:第一個輸出為a1b2c3,第二個輸出為a1。
區(qū)別主要是[w]*,后面有沒有跟問號,PHP的正則匹配模式默認(rèn)為貪婪模式,即第一個模式,表示*取盡量多的匹配字符,第二個加了個限定符?,為非貪婪(或懶惰模式),表示*取盡量少的匹配字符。(能寫出貪婪和懶惰的區(qū)別,正則表達(dá)式已經(jīng)沒大問題了。)
8.session和cookies 有什么區(qū)別?如果瀏覽器禁用了cookies,session還可以使用嗎?為什么?(5分)
參考答案:cookies存儲在客戶端,session存儲在服務(wù)端。瀏覽器禁用了cookies,session也不可以使用,因為sesession是需要客戶端發(fā)送一個sessionid到服務(wù)端,禁用了cookies,客戶端就不能保存此sessionid,session也失效了。(session是常用的,考察使用的熟悉程度)
程序開發(fā) 卷1
9.PHP二進(jìn)制數(shù)據(jù)流是處理是用什么函數(shù)的?(4分)參考答案:pack和unpack。(與服務(wù)端通信用到的解析方法)
10.求兩個日期的差數(shù),例如2009-3-1 ~ 2009-4-4 的日期差數(shù)?(4分)答:(strtotime(‘2009-4-4’)-strtotime(‘2009-3-1’))/3600*24
三、Linux操作題(20分,每題5分)1.請盡量寫出你熟悉的linux文件操作命令及其作用。
參考答案:自由發(fā)揮.基本的文件操作命令rm(移除),mv(移動),cp(復(fù)制),chmod(改權(quán)限),pwd(查看當(dāng)前路徑),mkdir(創(chuàng)建目錄)ls(列舉當(dāng)前目錄)2.3.4.簡述linux下,rsync同步命令怎么實現(xiàn)無需輸入密碼數(shù)據(jù)同步?(5分)
參考答案:在機(jī)器1上生成公鑰私鑰對,將生成的公鑰復(fù)制至機(jī)器2,加入到~/.ssh/id_dsa.pub。即可實現(xiàn)無密碼同步。(同步?jīng)]問題了)
四、綜合問答題(35分,每題5分)1.LAMP,LNMP分別指什么?
參考答案:LAMP:linux,apache,mysql,php LNMP:linux,nginx,mysql,php Linux文本編輯器vim(vi)命令行模式下有:q,:w, /word ,?word表示什么? 參考答案::q退出,:w保存,/word往下查找,?word往上查找.(熟悉linux編輯)linux怎么添加定時任務(wù)? 參考答案:crontab –e
2.11.請使用偽語言結(jié)合數(shù)據(jù)結(jié)構(gòu)冒泡排序法對以下一組數(shù)據(jù)進(jìn)行排序 10 2 36 14 10 25 23 85 99 45。
答:
$str=’10 2 36 14 10 25 23 85 99 45′;$arr=explode(‘ ‘,$str);$count=count($arr);for($i=0;$i<$count;$i++){ for($j=$i+1;$j<$count;$j++){ if($arr[$j]<$arr[$i]){ $temp=$arr[$i];$arr[$i]=$arr[$j];$arr[$j]=$temp;} } } $str1=implode(‘ ‘,$arr);echo$str1;
3.簡述mysql中union all,left join的用法。
程序開發(fā) 卷1
參考答案:Union all將兩次或多次查詢的結(jié)果合并。
Left join從左表那里返回所有的行,即使在右表中沒有匹配的行。(這兩個能記住,mysql也比較熟了)
4.Mysql 優(yōu)化有什么方法?
參考答案:簡單點的就是程序員寫高質(zhì)量的sql語句,數(shù)據(jù)庫設(shè)計優(yōu)秀,按需要建立索引(重點)。深入點的,優(yōu)化mysql配置。
5.一個表中的Id有多個記錄,把所有這個id的記錄查出來,并顯示共有多少條記錄數(shù),用SQL語句及視圖、存儲過程分別實現(xiàn)。
create procedure proc_countNum(in columnId int,out rowsNo int)begin select count(*)into rowsNo from member where member_id=columnId;end call proc_countNum(1,@no);select @no;方法:視圖:
create view v_countNum as select member_id,count(*)as countNum from member group by member_id select countNum from v_countNum where member_id=1
6.請舉例說明在你的開發(fā)過程中用什么方法來加快頁面的加載速度
參考答案:自由發(fā)揮題,言之有理即可(如:要用到服務(wù)器資源時才打開,及時關(guān)閉服務(wù)器資源,數(shù)據(jù)庫添加索引,頁面可生成靜態(tài),圖片等大文件單獨服務(wù)器。使用代碼優(yōu)化工具)。
7.對于大流量的網(wǎng)站,您采用什么樣的方法來解決訪問量問題? 參考答案:確認(rèn)服務(wù)器硬件是否足夠支持當(dāng)前的流量,數(shù)據(jù)庫讀寫分離,優(yōu)化數(shù)據(jù)表,控制大文件的下載,使用不同主機(jī)分流主要流量確認(rèn)服務(wù)器硬件是否足夠支持當(dāng)前的流量,數(shù)據(jù)庫讀寫分離,優(yōu)化數(shù)據(jù)表,程序功能規(guī)則,禁止外部的盜鏈,控制大文件的下載,使用不同主機(jī)分流主要流量。
第四篇:PHP程序員筆試題
姓名:________________
開始時間:________________(完成時間1個小時)
1、HTTP 協(xié)議里 GET和POST請求的區(qū)別
2、session與cookie的區(qū)別
3、數(shù)據(jù)庫中的事務(wù)是什么?
4、優(yōu)化MYSQL數(shù)據(jù)庫的方法,舉例說明。(多寫多得,可寫在反面)
5、PHP語句include和require的區(qū)別是什么
6、JS表單彈出對話框函數(shù)是什么?獲得輸入焦點函數(shù)是什么?
7、下面的PHP5程序的輸出值是什么?
$num = 10;
function multiply(){ $num = $num * 10;
}
multiply();
echo $num;?>
8、PHP檢測一個變量是否有設(shè)置的函數(shù)是什么?
9、談?wù)剬vc的認(rèn)識?
10、一個整數(shù)數(shù)組包含10個元素,未排好序
9,16,25,32,2,1,29,81,36,21 寫一個PHP程序,1)對數(shù)組進(jìn)行排序
2)用二分法查找并輸出 20 這個數(shù)在數(shù)組中的序(序號從1開始,查找不到返回0),寫在反面
11、請寫一個PHP函數(shù)驗證電子郵件的格式是否正確
12、寫出Linux下 創(chuàng)建目錄、刪除目錄、刪除文件、查看指定目錄內(nèi)容、移動文件的命令,并舉例說明
13、CSS中margin和padding的區(qū)別
14、簡述ajax的原理
15、假設(shè)給你5臺服務(wù)器,請大致的描述一下,如何使用你所熟悉的軟件,搭建一個日PV 100萬左右的中型網(wǎng)站,包括數(shù)據(jù)庫、WEB服務(wù)
第五篇:php試題及答案
php試題及答案
問題
1. 考慮如下腳本。標(biāo)記處應(yīng)該添加什么代碼才能讓腳本輸出字符串 php? $alpha = 'abcdefghijklmnopqrstuvwxyz';$letters = array(15, 7, 15);foreach($letters as $val){/* 這里應(yīng)該加入什么 */ } ?> A.echo chr($val);B.echo asc($val);C.echo substr($alpha, $val, 2);D.echo $alpha{$val};E.echo $alpha{$val+1} 2. 以下哪一項不能把字符串$s1 和$s2 組成一個字符串? A.$s1 + $s2 B.”{$s1}{$s2}” C.$s1.$s2 D.implode(”, array($s1,$s2))E.以上都可以
3. 變 量 $email 的 值 是 字 符 串 user@example.com,把 字 符 串 轉(zhuǎn) 化 成 example.com?
A.substr($email, strpos($email, “@”));
下 哪 項 能 以 B.strstr($email, “@”);C.strchr($email, “@”);
D.substr($email, strpos($email, “@”)+1);E.strrpos($email, “@”);
4. 給定一個用逗號分隔一組值的字符串,以下哪個函數(shù)能在僅調(diào)用一次的情況下就把每
個獨立的值放入一個新創(chuàng)建的數(shù)組? A.strstr()B.不可能只調(diào)用一次就完成 C.extract()D.explode()E.strtok()5. 要比較兩個字符串,以下那種方法最萬能? A.用 strpos 函數(shù) B.用==操作符 C.用 strcasecmp()D.用 strcmp()6. 以下哪個 PCRE 正則表達(dá)式能匹配字符串 php|architect? A..* B.…|……… C.d{3}|d{8} D.[az]{3}|[az]{9} E.[a-z][a-z][a-z]|w{9} 7. 以下哪些函數(shù)能用來驗證字符串的完整性?(三選)A.md5()B.sha1()C.str_rot13()D.crypt()E.crc32()8. 哪個 PHP 函數(shù)與以下腳本在 UNIX 系統(tǒng)下執(zhí)行的效果近似? function my_funct($filename){ $f = file_get_contents($filename);return explode(“n”, $f);} ?> A.fopen()B.fread()C.flock()D.split_string()E.file()9. 基于指定的式樣(pattern)把一個字符串分隔開并放入數(shù)組,以下哪些函數(shù)能做到?(雙 選)
A.preg_split()B.ereg()C.str_split()D.explode()E.chop()10.以下腳本輸出什么?
echo 'Testing '.1 + 2.'45';?> A.Testing 1245 B.Testing 345 C.Testing 1+245 D.245 E.什么都沒有
11.以下腳本輸出什么? $s = '12345';$s[$s[1]] = '2';echo $s;?> A.12345 B.12245 C.22345 D.11345 E.Array 12.方框中的正則表達(dá)式能與以下哪些選項匹配?(雙選)/.**123d/ A.******123 B.*****_1234 C.******1234
D._*1234 E._*123 13.以下哪個比較將返回 true?(雙選)A.’1top’ == ’1′ B.’top’ == 0 C.’top’ === 0 D.’a’ == a E.123 == ’123′
14.如果用+操作符把一個字符串和一個整型數(shù)字相加,結(jié)果將怎樣? A.解釋器輸出一個類型錯誤
B.字符串將被轉(zhuǎn)換成數(shù)字,再與整型數(shù)字相加 C.字符串將被丟棄,只保留整型數(shù)字 D.字符串和整型數(shù)字將連接成一個新字符串 E.整形數(shù)字將被丟棄,而保留字符串
15.考慮如下腳本。假設(shè) http://004km.cnpile-time)包含一
個 PHP 腳本使用______。A.include_once, include B.require, include C.require_once, include D.include, require E.以上皆可
16.什么情況下聲明函數(shù)時不能給參數(shù)賦默認(rèn)值? A.當(dāng)參數(shù)是布爾值時 B.當(dāng)函數(shù)是類中的成員時 C.當(dāng)參數(shù)是通過引用傳遞時 D.當(dāng)函數(shù)只有一個參數(shù)時 E.永遠(yuǎn)不會
17.______操作符在兩個操作數(shù)中有一個(不是全部)為 True 時返回 True。答案:____________ 18.全等運算符===如何比較兩個值?
A.把它們轉(zhuǎn)換成相同的數(shù)據(jù)類型再比較轉(zhuǎn)換后的值 B.只在兩者的數(shù)據(jù)類型和值都相同時才返回 True 8 C.如果兩個值是字符串,則進(jìn)行詞匯比較 D.基于 strcmp 函數(shù)進(jìn)行比較 E.把兩個值都轉(zhuǎn)換成字符串再比較
19.以下哪個選項是把整型變量$a 的值乘以 4?(雙選)A.$a *= pow(2, 2);B.$a >>= 2;C.$a <<= 2;D.$a += $a + $a;E.一個都不對
20.一段腳本如何才算徹底終止? A.當(dāng)調(diào)用 exit()時 B.當(dāng)執(zhí)行到文件結(jié)尾時 C.當(dāng) PHP 崩潰時
D.當(dāng) Apache 由于系統(tǒng)故障而終止時
答案
1. 唯一有意義的答案是 B。PHP 是一種基于 Zend 引擎的腳本語言,它通常被嵌入在 HTML 代碼中。它主要被用來開發(fā) HTML 文檔,但是也可以用它來開發(fā)其他類型的文檔,比 如 XML。
2. PHP 編程中,人們不太使用<% %>和兩個標(biāo)簽,但它們確實是合法的 PHP 界定符。
標(biāo)簽是非法的,因此正確的答案是 D。記住,根據(jù) php.ini 文件中的配置不同,這
當(dāng)中的某些標(biāo)簽無法在特定的情況下使用。
3. PHP 變量以一個美元符號為開頭,后面跟上任意數(shù)量的數(shù)字、字母和下劃線。${“MyVar”}
是一個合法的變量名,它使用的是較松散的命名約定。&$something 是對$something 的
引用。然而,變量名不能以數(shù)字為開頭,$10_somethings 是非法的,因此答案是 D。
4. 注意,$myarray 的鍵值并沒有打上引號。所以,正在訪問的鍵不是 myvalue 字符串,而是常量 myvalue 的值。最終訪問的是$myarray[10],值是 Dog,答案是 A。5. 盡管 print()和 echo()在絕大多數(shù)情況下可以互換使用,但它們之間還是有一處不同。
print()是函數(shù),有返回值;echo()實際上是一個語言結(jié)構(gòu),沒有返回值,并且不能在表
達(dá)式中使用。因此,答案是 A。
6. %運算符表示取模,它返回兩個操作數(shù)相除的余數(shù)。<<是左移運算符,相當(dāng)于乘以 2 的 N 次方。最后的答案乘以了一個浮點數(shù),改變了它的數(shù)據(jù)類型。但是,由于小數(shù)點
后是零,因此輸出的結(jié)果不包含小數(shù)部分。答案是 256(D)。
7. 根據(jù)條件式的邏輯,要想得到 Hello, World!字符串,必須要在第一個 if 結(jié)構(gòu)中滿足 else 的條件。因此$a 必須為 False,然后$b 也必須為 False。最內(nèi)層的條件語句的實現(xiàn)要求
先前的兩個變量($a 和$b)是 False,而$c 必須是 True(答案是 D)。8. 正確答案是 C。從 PHP4.2.0 開始,除非已經(jīng)給定了一個偽隨機(jī)整數(shù)列,否則不再需要
用 srand()函數(shù)初始化隨機(jī)數(shù)生成器。此外,即使隨機(jī)數(shù)生成器沒有被事先播種,腳本
仍然會生成 49 個偽隨機(jī)字符。盡管$array 變量是字符串,但可以用訪問數(shù)組的方式進(jìn)
行訪問——使用數(shù)字索引訪問某個位置上的字符。最后,for 循環(huán)將從 1 開始執(zhí)行到 50,也就是執(zhí)行了 49 次。
9. 用一系列的 if…else 語句來檢查一個條件的代碼塊,最適合用 switch 語句來替代。switch($a){ case 'a': somefunction();break;case 'b': 10 anotherfunction();break;case 'c': dosomething();break;default: donothing();} ?> 因為 if 語句中有一個捕捉所有其他條件的 else,對應(yīng)的,switch 代碼塊需要一個 default。正確答案是 E。
10.通常情況下,foreach 語句是遍歷數(shù)組的首選。但是,由于 foreach 語句是在數(shù)組的副
本上進(jìn)行操作,而我們需要給數(shù)組中每個元素重新賦值,所以在這里 foreach 就不適用
了。盡管也可以用 while 循環(huán)和 do…while 循環(huán),但由于數(shù)組是順序索引的,最合適的
語句還是 for 語句。因此答案是 A。
$myarray = array(“My String”, “Another String”, “Hi, Mom!”);for($i = 0;$i < count($myarray);$i++){ $myarray[$i].= “($i)”;} ?> 11.由于題目只允許填寫一行代碼,唯一合適的是 for 循環(huán),因此答案只能是 C 或者 D。
要選出能生成正確結(jié)果的 for 循環(huán),我們必須先復(fù)習(xí)一下 for 循環(huán)的構(gòu)成要素。PHP 中,for 循環(huán)是這樣聲明的:
for(<初始化>;<繼續(xù)執(zhí)行,直到>;<重復(fù)執(zhí)行>)<初始化>在循環(huán)開始時執(zhí)行一次,然后 for 循環(huán)開始執(zhí)行大括號內(nèi)的代碼,直到<繼續(xù) 執(zhí)行,直到>的值為 False。每完成一次循環(huán),執(zhí)行一次<重復(fù)執(zhí)行>。因此,正確的代 碼塊應(yīng)該是:
for($idx = 1;$idx < STOP_AT;$idx *= 2)答案是 C。
12.5 個選項中,只有兩個是合法的 PHP 函數(shù)聲明(A 和 D)。在這兩個選項中,只有一
個設(shè)置了參數(shù)的默認(rèn)值——答案是 A。
13.本題考察 PHP 中變量作用域的相關(guān)知識。你必須明確 global 關(guān)鍵字是如何將變量引入
本地域的,以及$_GET、$_POST、$_COOKIE、$_REQUEST 等超級全局變量的作用 域。本題中,最終的數(shù)學(xué)表達(dá)式是 5+25-25-10,等于-5,答案是 B。14.函數(shù)能被以一個包含著函數(shù)名的變量后面加上括號(以及必要的參數(shù))的形式動態(tài)
調(diào)用。對于Group A來說,合適的索引組合是0,4,9,9,9,9,產(chǎn)生字符串myfunction。
另一方面,參數(shù)將使用${}結(jié)構(gòu)的可變變量。對Group B來說,合適的索引應(yīng)該是7 和8,等于${‘a(chǎn)’}$和{‘b’}——即$a和$b。因此答案是D。
15.在較新版本的 PHP 中,require(或 requier_once())和 include()(或 include_once())只有
一個區(qū)別——如果包含的文件不存在,前者將產(chǎn)生一個致命錯誤,同時終止腳本的執(zhí)
行;而后者只會產(chǎn)生一個警告。因此答案 E 正確。
16.當(dāng)參數(shù)被聲明為通過引用傳遞時,你不能給它賦默認(rèn)值,此時解釋器期望獲得一個能
在函數(shù)內(nèi)部進(jìn)行修改的變量。答案是 C。17.正確答案是邏輯異或(xor)運算符。18.全等運算符比較兩個操作數(shù)的數(shù)據(jù)類型和值,兩者中有一個不同,都會返回 False。因 此答案是 B。
19.答案是 A 和 C。A 選項中,pow 函數(shù)計算 2 的平方,答案是 4。C 選項中,左移運算
符將$a 的值左移兩位,相當(dāng)于乘以 4。
20.答案是 A。一段腳本并不會在執(zhí)行到文件末尾時終止,所以當(dāng)前文件才能被其他腳本
包含。至于 PHP 和 Apache 崩潰,這兩個說法就太惡搞了。