導航:首頁 > 編程語言 > php期末試題及答案

php期末試題及答案

發布時間:2022-12-26 01:46:35

『壹』 求大神幫我答題,期末考試ing,關於php

DABBA ABBCD DCCCA ABCCA
那人回答部分有錯誤
第三題明顯只能在BD裡面選

『貳』 PHP基礎面試題 – 第三天

1、 下面語句執行的結果是:

A:1 2 3 4
B:1 1 3 4
C:1 2 3 3
D:1 2 3 5
E:以上都不是

答案:B

2、下面那些說法是錯誤的:

答案:A

3、array_shift()函數的作用是?

A 在數組中新增一個元素
B 移除數組中的一個元素
C 交換一個數組的key和value
D 清除一個數組

答案:B

4、你將使用下面哪個函數來刪除一個文件?

A unlink()
B delete()
C fdelete()
D: file_delete()

答案:A

5、請看代碼,資料庫關閉指令將關閉哪個鏈接標識?

A.$link1
B $link2
C 全部關閉
D 報錯

答案:B
//mysql_close() 關閉指定的連接標識所關聯的到 MySQL 伺服器的連接。如果沒有指定 link_identifier,則關閉上一個打開的連接。

『叄』 一道簡單PHP題!

當echo中遇到+號(其他數學運算符號也一樣),它會試圖把+號兩邊的表達式(可以是字元串也可以是數值)轉換為數值後再進行加法運算,這樣
echo "a" . 1 + 3 . "5";
就相當於
echo "a1" + "35";
而"a1"無法轉換為數值,php就自動按0處理,這樣就相當於
echo 0 + 35;
所以最終的輸出結果為35

『肆』 PHP程序設計試卷

1、"php"
2、?>和<?php ; <?php和?>
3、賦值 ; 判斷
4、5
5、這個題太無聊 是在考轉義
6、你簡直太棒了!
7、資料庫地址 ; 資料庫用戶名

『伍』 PHP程序員上機面試題(並附答案,回答好的加分)

題集網上有一套php的面試題:http://www.tijee.com/tags/46-php-face-questions/posts

『陸』 求一道php題的答案,急用~!

classPerson//父類Person
{
//屬性
protected$name;
protected$xb;
//構造器
publicfunctionPerson($name,$xb)
{
//初始化
$this->name=$name;
$this->xb=$xb;
}
}
classStudentextendsPerson//子類Student
{
//屬性
protected$xh;
//構造器
publicfunctionStudent($name,$xb,$xh)
{
//初始化
parent::Person($name,$xb);
$this->xh=$xh;
}
//顯示學生信息的方法
publicfunctiondisplay()
{
echo$this->name;
echo$this->xb;
echo$this->xh;
}
}

『柒』 php程序設計期末考試題目,應該php語言編寫程序,mysql資料庫伺服器創建一個資料庫,資料庫

如果沒具體要求的話,可以網路一個,網上有很多免費的,就是得自己測試是否能用,如果有具體要求就得動手做了,具體私聊哦

『捌』 PHP一道選擇題

答案: C

解釋:

在php語言里,對於數字式字元與數字如何參與運算,在具體情況下會視情來確定,請比較以下代碼:

echo "3+4+5";結果:3+4+5

為什麼會1+2+"3+4+5"結果會是6呢?

echo這個函數(或說是指令),其後跟的參數可以是字元串,也可以是需要運算的表達式,當出現:

echo "3+4+5";echo會認為這是個字元串

而echo 1+2+"3+4+5";echo會認為這是個表達式,所以會對這個表達式進行運算。

在這個運算過程中,1+2等於3,那麼為什麼"3+4+5"為什麼會等於3呢?因為,在php中,對於運算式中,不同數據類型的數據在參與數據時,php會進行數據轉換,以盡量確保使表達式成功運行,在"3+4+5"前面的運算符是 + ,那麼,php會將"3+4+5"當作數值類型,此時會隱式地進行數據類型的轉換,將這個字元串轉換成數值,而"3+4+5"轉換成數值的結果就是3,所以,整個表達式的結果是:1+2+3 = 6。

為更好的理解,作為對比,你可以參考以下代碼:

echo 1+2 . "3+4+5";

結果:
33+4+5

『玖』 經典PHP筆試題

經典PHP筆試題

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本預處理器”)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。下面是整理的關於經典PHP筆試題,歡迎閱讀!

1.考慮如下腳本。標記處應該添加什麼代碼才能讓腳本輸出字元串php?

$alpha = 'abcdefghijklmnopqrstuvwxyz';

$letters = array(15, 7, 15);

foreach($letters as $val)

{/* 這里應該加入什麼 */

}?>

A.echo chr($val);

B.echo asc($val);

C.echo substr($alpha, $val, 2);

D.echo $alpha{$val};

E.echo $alpha{$val+1}

答案解析:substr 函數能夠勝任,但考慮到輸出三個字母就需要三次調用該函數,所以排除此方法。那麼$alpha{$val}和$alpha{$val+1}是僅有的兩個可能輸出題目要求的字元串的選項。因為 0 是數

組的第一個索引,所以答案是 D。

2. 以下哪一項不能把字元串$s1 和$s2 組成一個字元串?

A.$s1 + $s2

B.”{$s1}{$s2}”

C.$s1.$s2

D.implode(”, array($s1,$s2))

E.以上都可以

答案解析:除 A 以外的選項都能輸出題目要求的字元串。PHP中,加號+不能把兩個字元串合並成一個。

3. 變 量 $email 的 值 是 字 符 串 [email protected] , 以 下 哪 項 能 把 字 符 串 轉 化 成example.com?

A.substr($email, strpos($email, “@”));

B.strstr($email, “@”);

C.strchr($email, “@”);

D.substr($email, strpos($email, “@”)+1);

E.strrpos($email, “@”);

答案解析:substr 函數返回字元串的一部分,而 strpos 函數擅長從一個字元串中找出某個指定的子串。同時使用這兩個函數將滿足題目要求。注意,前一個函數從 0 開始索引,而後者不是,因此需

要+1。答案是 D。

4. 給定一個用逗號分隔一組值的字元串,以下哪個函數能在僅調用一次的情況下就把每個獨立的值放入一個新創建的數組?

A.strstr()

B.不可能只調用一次就完成

C.extract()

D.explode()

E.strtok()

答案解析:答案是 D。explode 函數使用一個字元串分隔另一個字元串,並把結果放入一個新建的數組。strtok 函數也可以做同樣的事,但需要多次調用。

5. 要比較兩個字元串,以下那種方法最萬能?

A.用 strpos 函數

B.用==操作符

C.用 strcasecmp()

D.用 strcmp()

答案解析:答案是 D。strcmp()提供了安全的字元串比較機制。注意,選項 C 是錯的,strcasecmp()不是一個“萬能”函數,因為它不區分大小寫。

6. 以下哪個 PCRE 正則表達式能匹配字元串 php|architect?

A..*

B.…|………

C.d{3}|d{8}

D.[az]{3}|[az]{9}

E.[a-z][a-z][a-z]|w{9}

答案解析:選項中沒有一個正則表達式能真正代表題目所給字元串的匹配方式,但是選項 A 和 E仍然能勉強匹配。選項 A 太普通了,它能夠匹配任何字元串,因此答案是 E。

7. 以下哪些函數能用來驗證字元串的完整性?(三選)

A.md5()

B.sha1()

C.str_rot13()

D.crypt()

E.crc32()

答案解析:正確答案是 A,B 和 E。用 crypt()和 str_rot13()來驗證一個字元串是否被改變,效率很低。crc32()比前面兩個函數好些,如果能容忍一些小錯誤的話,它是個不錯的選擇。

8. 哪個 PHP 函數與以下腳本在 UNIX 系統下執行的效果近似?

function my_funct ($filename)

{

$f = file_get_contents ($filename);

return explode (" ", $f);

}

?>

A.fopen()

B.fread()

C.flock()

D.split_string()

E.file()

答案解析:正確答案是 A,B 和 E。用 crypt()和 str_rot13()來驗證一個字元串是否被改變,效率很低。crc32()比前面兩個函數好些,如果能容忍一些小錯誤的話,它是個不錯的選擇。

9. 基於指定的式樣(pattern)把一個字元串分隔開並放入數組,以下哪些函數能做到?(雙

選)

A.preg_split()

B.ereg()

C.str_split()

D.explode()

E.chop()

答案解析:盡管條件不同,但 preg_split 和 explode 函數都能滿足題目要求。ereg()拿一個正則表達式匹配一個字元串;str_split()按固定長度分隔字元串;而 chop()則是 rtrim()別名,用來移除

字元串末尾處的空格。

10.以下腳本輸出什麼?

echo 'Testing ' . 1 + 2 . '45';

?>

A.Testing 1245

B.Testing 345

C.Testing 1+245

D.245

E.什麼都沒有

答案解析:本題考察你對字元串操作及操作符優先順序的認識。連接運算符(.)的優先順序比加號(+)高。因此 PHP 解釋器實際執行的運算可以表示為(‘Testing’ . 1) + (2 . ‘45’)。由於字元串

test 1 不是數字,所以加號前面的運算等於 0。加號後面的運算等於 245,PHP 輸出的'結果是 0+245,等於 245,所以答案是 D。

11.以下腳本輸出什麼?

$s = '12345';

$s[$s[1]] = '2';

echo $s;

?>

A.12345

B.12245

C.22345

D.11345

E.Array

答案解析:可以用訪問數組元素的方式訪問字元串中的字元,因此腳本只是把字元串中的第二個字元($s[1])替換成了字元 2,最終將輸出 12245。答案是 B。

12.方框中的正則表達式能與以下哪些選項匹配?(雙選)

/.**123d/

A.******123

B.*****_1234

C.******1234

D._*1234

E._*123

答案解析:本題的要點是理解這個正則表達式的含義——從左往右,首先是零個或多個任意字元(.*),跟著是一個星號(*),然後是 123,最後是一個數字。因此答案是 C 和 D。

13.以下哪個比較將返回 true?(雙選)

A.‘1top’ == ‘1’

B.‘top’ == 0

C.‘top’ === 0

D.‘a’ == a

E.123 == ‘123’

答案解析:B 和 E 正確。選項 B 中,在比較時,字元串 top 等同於數字 0。==操作符不比對數據類型,所以將返回 true。答案 E 中,字元串 123 等同於數字 123,比較將返回 true。

14.如果用+操作符把一個字元串和一個整型數字相加,結果將怎樣?

A.解釋器輸出一個類型錯誤

B.字元串將被轉換成數字,再與整型數字相加

C.字元串將被丟棄,只保留整型數字

D.字元串和整型數字將連接成一個新字元串

E.整形數字將被丟棄,而保留字元串

答案解析:字元串將被轉換成數字(如果無法發生轉換就是 0),然後與整型數字相加。答案是 B。

15.考慮如下腳本。假設 http://www.php.net 能被訪問,腳本將輸出什麼?

$s = file_get_contents ("http://www.php.net");

strip_tags ($s, array ('p'));

echo count ($s);

?>

A.www.php.net 的主頁的字元數

B.剔除標簽後的 www.php.net 主頁的字元數

C.1

D.0

E.剔除以外的標簽後的 www.php.net 主頁的字元數

答案解析:代碼的本意是剔除 www.php.net 主頁上除了 p 以外的的所有 HTML 標簽。可實際上,在代碼的最後一行使用了 count 函數,它統計變數中的元素數量,而不是字元串中的字元數。由於字元

串是標量,對字元串使用 count 函數將永遠返回 1。答案是 C。

16.哪個函數能不區分大小寫得對兩個字元串進行二進制比對?

A.strcmp()

B.stricmp()

C.strcasecmp()

D.stristr()

E.以上都不能

答案解析:題目其實就是在描述 strcasecmp 函數的作用,因此答案是 C。

17.以下哪些函數能把字元串里存儲的二進制數據轉化成十六進制?(雙選)

A.encode_hex()

B.pack()

C.hex2bin()

D.bin2hex()

E.printf()

答案解析:正確答案是 B 和 D。pack 函數能對二進制數據進行復雜的格式化,包括將字元串中的字元轉化成十六進製表示。bin2hex 函數也有同樣的轉化功能。注意,printf()能將整數轉化成十六進

制數,但無法轉化字元串。

18.哪個函數能用來確保一個字元串的字元數總是大於一個指定值?

答案解析:這是在說 str_pad 函數,它可以把字元串填充到指定長度。

19.以下腳本輸出什麼?

echo wordwrap ($a, 1, "c", false);

?>

答案解析:腳本將輸出 ablecostscindy。wordwrap 函數通常用來把字元串切割成指定長度。然而在本題中,長度被設置為 1,因此函數將從空格處切割(第四個參數被設置為 false,因此函數不會從

單詞的中間進行切割)。填充字元串是 c,等於把每個空格都換成了 c。

20.以下腳本輸出什麼?

echo substr_replace ($x, 'x', 1, 2);

?>

A.x

B.axle

C.axxle

D.applex

E.xapple

答案解析:腳本將輸出 ablecostscindy。wordwrap 函數通常用來把字元串切割成指定長度。然而在本題中,長度被設置為 1,因此函數將從空格處切割(第四個參數被設置為 false,因此函數不會從

單詞的中間進行切割)。填充字元串是 c,等於把每個空格都換成了 c。

;

『拾』 php面試題解答

1,
var x=document.getElementById("img1");
var title=document.getElementById("img1").title;
var sina_title=document.getElementById("img1").sina_title;

2,serialize(),unserialize();

3,編碼方式不同,urlencode()將字串以URL編碼。例如空格就會變成加號。
rawurlencode()將url編碼成url的字元串專用格式,特殊字元回轉換成百分號後面加兩個十六子介數字的格式。
4,strip_tags(),html_entity_decode();

5,$str=preg_replace("/\<script.*\>.*\<\/script\>/i","",$str);
6,左連接,左連接的表如果沒有匹配的數據不影響結果。
7
SELECT name,score FROM tl_user LEFT JOIN tl_score ON tl_user.ID=tl_score.ID
7 system(),exec(),passthru()
8,json_decode ,json_encode
9 isset() empty()
10 後者的許可權大於前者,後者是OFF的話,前者就算是E-ALL也沒用。
11,$_SERVER['REMOTE_ADDR'];
12,incov()
echo iconv("gbk",""UTF-8,"我們");
mb_convert_encoding($str, "GBK", "UTF-8")
13 explode() split() ;implode() join()
14 注意事項挺多的,懶得寫。

1,超時,伺服器已經關閉連接
2 靜態表欄位長度固定,自動填充,讀寫速度很快,便於緩存和修復,但比較占硬碟,動態表是欄位長度不固定,節省硬碟,但更復雜,容易產生碎片,速度慢,出問題後不容易重建。
3InnoDB和MyISAM是在使用MySQL最常用的兩個表類型,各有優缺點,視具體應用而定。基本的差別為:MyISAM類型不支持事務處理等高級處理,而InnoDB類型支持。MyISAM類型的表強調的是性能,其執行數度比InnoDB類型更快,但是不提供事務支持,而InnoDB提供事務支持已經外部鍵等高級資料庫功能。
MyIASM是IASM表的新版本,有如下擴展:
二進制層次的可移植性。
NULL列索引。
對變長行比ISAM表有更少的碎片。
支持大文件。
更好的索引壓縮
更好的鍵嗎統計分布。
更好和更快的auto_increment處理。
1.MySQL最大的優勢在於MyISAM引擎下的簡單SELECT,INSERT和UPDATE快速操作
2.MyISAM類型的數據文件可以在不同操作系統中COPY,這點很重要,布署的時候方便點。

以下是一些細節和具體實現的差別:
1.InnoDB不支持FULLTEXT類型的索引。
2.InnoDB 中不保存表的具體行數,也就是說,執行select count(*) from table時,InnoDB要掃描一遍整個表來計算有多少行,但是MyISAM只要簡單的讀出保存好的行數即可。注意的是,當count(*)語句包含 where條件時,兩種表的操作是一樣的。
3.對於AUTO_INCREMENT類型的欄位,InnoDB中必須包含只有該欄位的索引,但是在MyISAM表中,可以和其他欄位一起建立聯合索引。
4.DELETE FROM table時,InnoDB不會重新建立表,而是一行一行的刪除。
5.LOAD TABLE FROM MASTER操作對InnoDB是不起作用的,解決方法是首先把InnoDB表改成MyISAM表,導入數據後再改成InnoDB表,但是對於使用的額外的InnoDB特性(例如外鍵)的表不適用。
另外,InnoDB表的行鎖也不是絕對的,如果在執行一個SQL語句時MySQL不能確定要掃描的范圍,InnoDB表同樣會鎖全表,例如update table set num=1 where name like 「%aaa%」
以暫對存儲引擎的認識,覺得 InnoDB 支持外鍵,在數據量可以用「龐大」來形容時,在有良好的 INDEX 的基礎上,InnoDB 的查詢速度應該比 MyISAM 要快。
在 Falcon 有穩定版本前,我想 MyISAM 是一個可用的選擇方案。
任何一種表都不是萬能的,只用恰當的針對業務類型來選擇合適的表類型,才能最大的發揮MySQL的性能優勢
3, 都是1 ^^懶得回答了,睡覺去。

閱讀全文

與php期末試題及答案相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:144
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:736
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163