PHP試題

生命力頑強的種子,從不對瘠土唱詛咒的歌。以下是小編爲大家搜索整理了PHP試題,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!

PHP試題

  一、選擇題

1. 如何訪問會話變量(session)?(E)

A.通過$_GET

B.通過$_POST

C.通過$_REQUEST

D.通過全局變量

E.以上都不對

2. 在忽略瀏覽器 bug 的正常情況下,如何用一個與先前設置的域名(domain)不同的新(B) 域名來訪問某個 cookie?

A.通過 HTTP_REMOTE_COOKIE 訪問

B.不可能

C.在調用 setcookie()時設置一個不同的域名

D.向瀏覽器發送額外的請求

E.使用 Javascript,把 cookie 包含在 URL 中發送

3. 如果不給 cookie 設置過期時間會怎麼樣?(D)

A.立刻過期

B.永不過期

ie 無法設置

D.在瀏覽器會話結束時過期

E.只在腳本沒有產生服務器端 session 的情況下過期

4. 思考如下代碼:如果用戶在兩個文本域中分別輸入“php”和“great”,腳本輸出什麼?(A) echo $_GET['element'];

?>

A.什麼都沒有

y

C.一個提示

reat

tphp

5. 在 HTTPS 下,URL 和查詢字串(query string)是如何從瀏覽器傳到 Web 服務器上的?

(B)

A.這兩個是明文傳輸,之後的信息加密傳輸

B.加密傳輸

明文傳輸,查詢字串加密傳輸

加密傳輸,查詢字串明文傳輸

E.爲確保加密,查詢字串將轉換爲 header,夾在 POST 信息中傳輸

6. 當把一個有兩個同名元素的表單提交給 PHP 腳本時會發生什麼?(C)

A.它們組成一個數組,存儲在超級全局變量數組中

B.第二個元素的值加上第一個元素的值後,存儲在超級全局變量數組中

C.第二個元素將覆蓋第一個元素

D.第二個元素將自動被重命名

輸出一個警告

7.如何把數組存儲在 cookie 裏?(B)

A.給 cookie 名添加一對方括號[]

B.使用 implode 函數

C.不可能,因爲有容量限制

D.使用 serialize 函數

E.給 cookie 名添加 ARRAY 關鍵詞

8.以下腳本輸出什麼?(E)

ob_start();

for ($i = 0; $i < 10; $i++) {

echo $i;

}

$output = ob_get_contents();

ob_end_clean();

echo $ouput;

?>

A.12345678910

B.1234567890

C.0123456789

D.什麼都沒有

E.一個提示

9.默認情況下,PHP 把會話(session)數據存儲在______裏。(A)

A.文件系統

B.數據庫

C.虛擬內容

D.共享內存

E.以上都不是

10.假設瀏覽器沒有重啓,那麼在最後一次訪問後的多久,會話(session)纔會過期並被 回收?(B)

A.1440 秒後

B.在 _maxlifetime 設置的時間過了後

C.除非手動刪除,否則永不過期

D.除非瀏覽器重啓,否則永不過期

E.以上都不對

11. 索引數組的鍵是______,關聯數組的鍵是______。(E)

A.浮點,字符串

B.正數,負數

C.偶數,字符串

D.字符串,布爾值

E.整型,字符串

12. 考慮如下數組,怎樣才能從數組$multi_array 中找出值 cat?

$multi_array = array("red",

"green",

42 => “blue”,

“yellow” => array(“apple”,9 => “pear”,”banana”,

“orange” => array(“dog”,”cat”,”iguana”)));

?> (E)

A.$multi_array['yellow']['apple'][0]

B.$multi_array['blue'][0]['orange'][1]

C.$multi_array[3][3][2]

D.$multi_array['yellow']['orange']['cat']

E.$multi_array['yellow']['orange'][1]

13. 運行以下腳本後,數組$array 的內容是什麼?(B)

$array = array ('1', '1');

foreach ($array as $k => $v) {

$v = 2;

}

?>

y (’2′, ’2′)

y (’1′, ’1′)

y (2, 2)

y (Null, Null)

y (1, 1)

14.對數組進行升序排序並保留索引關係,應該用哪個函數?(B)

t()

t()

rt()

()

t()

15. 以下腳本將按什麼順序輸出數組$array 內的元素?(A)

$array = array ('a1', 'a3', 'a5', 'a10', 'a20');

natsort ($array);

var_dump ($array);

?>

A.a1, a3, a5, a10, a20

B.a1, a20, a3, a5, a10

C.a10, a1, a20, a3, a5

D.a1, a10, a5, a20, a3

E.a1, a10, a20, a3, a5

16. 以下腳本輸出什麼?(D)

$array = array ('3' => ‘a’, ’1b’ => ‘b’, ‘c’, ‘d’);

echo ($array[1]);

?>

A.1

B.b

C.c

D.一個警告

E.a

17.哪種方法用來計算數組所有元素的總和最簡便?(D)

A.用 for 循環遍歷數組

B.用 foreach 循環遍歷數組

C.用 array_intersect 函數

D.用 array_sum 函數

E.用 array_count_values()

18.以下腳本輸出什麼?(A)

$array = array (0.1 => ‘a’, 0.2 => ‘b’);

echo count ($array);

?>

A.1

B.2

C.0

D.什麼都沒有

E.0.3

19. 以下腳本輸出什麼?(E)

$array = array (true => ‘a’, 1 => ‘b’);

var_dump ($aray);

?>

A.1 => ‘b’

=> ‘a’, 1 => ‘b’

C.0 => ‘a’, 1 => ‘b’

D.什麼都沒有

E.輸出 NULL

20.在不考慮實際用途的前提下,把數組直接傳給一個只讀函數比通過引用傳遞的複雜度 低?(E)

A.是的,因爲在把它傳遞給函數時,解釋器需要複製這個數組

B.是的,如果函數修改數組的內容的話

C.是的,如果這個數組很大的話

D.是的,因爲 PHP 需要監視函數的輸出,已確定數組是否被改變

E.不是

21. 以下腳本輸出什麼?(E)

function sort_my_array ($array)

{

return sort ($array);

}

$a1 = array (3, 2, 1);

var_dump (sort_my_array (&$a1));

?>

B.0 => 1, 1 => 2, 2 => 3

C.一個引用錯誤

D.2 => 1, 1 => 2, 0 => 3

(true)

22.以下哪種標籤不是PHP起始/結束符?(D)

A.B.C.D.

E.

23.以下代碼哪個不符合PHP語法?(D)

A.$_10B.$,“MyVar”-C.&$somethingD.$10_somethingsE.$aVaR 表達式$foo=1+"bob3",則$foo的值是(A)。 A. 1 B. 1bob3 C. 1b D.92

的位運算符不包括(D )。

A.& B. | C. ~ D. !

25.關於PHP變量的說法正確的是(D )。A. PHP是一種強類型語言

B. PHP變量聲明時需要指定其變量的類型

C. PHP變量聲明時在變量名前面使用的字符是”&”

D. PHP變量使用時,上下文會自動確定其變量的類型 26.假設$a=5,有$a+=2,則$a的值爲( C)。A.5 B.6

C.7 D. 8

27.在PHP中屬於比較運算符的是(C )。

A. = B.! C.= = D. &

28.要配置Apache的PHP環境,只需修改(B )。

D.

29.下列命令中不是PHP的輸出命令的是(D )。

echo tf() C. print D. write

中定義常量的方法是(C )。

A. VAR C. define() fined()

31.有下列PHP語句段,

?>

若要輸出"false",$a應該是(D )。

A. 10 B.–3 C. TRUE D .0

32.已知$g=14,則PHP表達式$h=$g+=10,運算後的結果是(A )。

A. $h=$g=24 B.$h=10,$g=24 C.$h=10.$g=14 D.$h=24,$g=10

33.運行以下代碼將顯示什麼?(A)

$myarray[10] = "Dog";

$myarray[] = "Human";

$myarray['myvalue'] = "Cat";

$myarray["Dog"] = "Cat";print "Thevalueis:";

print $myarray[myvalue]."n"; ?>

alueis:alueis:alueis:alueis: t()和echo()有什麼區別?(A)

t()能作爲表達式的一部分,echo()不能

()能作爲表達式的一部分,print()不能

()能在CLI(命令行)版本的PHP中使用,print()不能

t()能在CLI(命令行)版本的PHP中使用,echo()不能

E.沒有區別:兩個函數都打印文本!

35.如何給變量$a,$b和$c賦值才能使以下腳本顯示字符串“Hello, World!”?(D)

$string = "Hello,World!";

$a =?;

$b =?;

$c =?; if($a) {

if($b&& !$c) {

echo "Goodbye Cruel World!";

} else if(!$b&& !$c) {echo "Nothinghere";

}

}else {

if(!$b) { if(!$a&& (!$b&& $c)) {echo "Hello,World!";

} else {

echo "GoodbyeWorld!";

}

} else {

echo "Not quite.";

}

}

?> e, True, ,True, e, True, e,False, ,True,True

36.以下腳本輸出什麼(C)

$array='0123456789ABCDEFG';

$s = '';

for ($i = 1;$i< 50; $i++) { $s .= $array[rand(0,strlen($array)-1)];

}

echo $s;

?>

A.50個隨機字符組成的字符串

B.49個相同字符組成的字符串,因爲沒有初始化隨機數生成器

C.49個隨機字符組成的字符串D.什麼都沒有,因爲$array不是數組E.49個字母‘G’組成的字符串

37.哪種語句結構用來表現以下條件判斷最合適?(E)

if($a == 'a'){somefunction();

} else if ($a=='b'){anotherfunction();

} else if ($a=='c'){dosomething();

} else {

donothing();

}

?>

A.沒有default的switch語句

B.一個遞歸函數e語句

D.無法用別的形式表現該邏輯E.有default的switch

38.考慮如下代碼片段:

define("STOP_AT",1024);

$result = array();

/*在此處填入代碼*/

{

$result[] = $idx;

}

print_r($result);

?>

標記處填入什麼代碼才能產生如下數組輸出?(C)

Array

{

[0] =>1

[1] =>2

[2] =>4

[3] =>8

[4] =>16

[5] =>32

[6] =>64

[7] =>128

[8] =>256

[9] =>512

}

ach($result as $key=>$val) e($idx*= 2)

($idx=1;$idx

($idx*= 2; STOP_AT>=$idx; $idx= 0)e($idx

/*函數聲明處*/

{

$is_leap = (!($year %4) && (($year %100) ||

!($year % 400)));return$is_leap;

}

var_dump(is_leap(1987)); /* Displaysfalse*/var_dump(is_leap()); /*Displaystrue*/ ?>

tionis_leap($year= 2000)

_leap($year default 2000)tionis_leap($year default 2000)

tionis_leap($year)

tionis_leap(2000 =$year)

40.運行以下代碼將顯示什麼值?假設代碼運行時的URL是:(B)

functionprocess($c,$d= 25){global $e;

$retval = $c + $d -$_GET['c']-$e;return$retval;

}

$e =10;

echo process(5);

?>A.25

B.-5C.10

D.5E.0

41.運行時(run-time)包含一個PHP腳本使用,而編譯時(compile-time)包含一個PHP腳本使用 。(E)

ude_once,include

ire,ire_once,include

ude,require

E.以上皆可

42.全等運算符===如何比較兩個值?(B)

A.把它們轉換成相同的數據類型再比較轉換後的值

B.只在兩者的數據類型和值都相同時才返回True

C.如果兩個值是字符串,則進行詞彙比較D.基於strcmp函數進行比較 E.把兩個值都轉換成字符串再比較

43.一段腳本如何纔算徹底終止?(A)

A.當調用exit()時

B.當執行到文件結尾時C.當PHP崩潰時

D.當Apache由於系統故障而終止時

中調用某一個對象的方法或屬性使用的運算符是(B)。

A. => B. -> C. . D.~

45.在php5中如何讓類中的某些方法無法在類的外部被訪問?(B)

A.把類聲明爲private

B.把方法聲明爲private

C.無法實現

D.編寫合適的重載方法(overloadingmethod)

46. 藉助繼承,我們可以創建其他類的派生類。那麼在PHP中,子類最多可以繼承幾個父類?(A)

A.1個

B.2個

C.取決於系統資源D.3個

E.想要幾個有幾個

47. 一個類如何覆蓋默認的序列化機制(C)

A.使用shutdown和__startup方法

B.調用register_shutdown_function()函數

C.使用__sleep()和__wakeup()方法

D.無法覆蓋默認序列化機制

E.使用ob_start()將類放入輸出緩衝中48.如何在類的內部調用mymethod方法(B) A.$self=>mymethod();

B.$this->mymethod();C.$current->mymethod();D.$this::mymethod()E.以上都不對

49.以下腳本輸出什麼(D)

classmy_class{var $my_var;

function_my_class($value){

$this->my_var= $value;

}

}

$a =new my_class(10);echo $a->my_var; ?>A.10

yD.什麼都沒有

E.一個錯誤

50.以下腳本輸出什麼?(A)

classmy_class{var $value;

}

$a =new my_class; $a->my_value = 5;

$b =$a;

$b->my_value = 10;echo $a->my_value;

?>A.10

E.什麼都沒有

51.以下腳本輸出什麼?(A )

$global_obj= null;classmy_class{

var $value;

functionmy_class(){global $global_obj;

$global_obj= &$this;

}

}

$a =new my_class; $a->my_value = 5;

$global_obj->my_value = 10;echo $a->my_value;

?>

A.5B.10

C.什麼都沒有

D.構造函數將報錯

E.510

52.考慮如下一段代碼,執行時,$eight_tenths->to_string方法返回的字符串是8/10而不是希望的4/5,爲什麼?(D )

classfraction {

var $numerator;var $denominator;

functionfraction($n,$d) {

$this->set_numerator($n);

$this->set_denominator($d);

}

functionset_numerator($num){

$this->numerator = (int)$num;

}

functionset_denominator($num) {

$this->denominator = (int)$num;

}

functionto_string() {

return"{$this->numerator} / {$this->denominator}";

}

}

functiongcd($a, $b){

return($b>0)?gcd($b,$a%$b): $a;

}

functionreduce_fraction($fraction) {

$gcd= gcd($fraction->numerator,

$fraction->denominator);

$fraction->numerator /= $gcd;

$fraction->denominator /= $gcd;

}

$eight_tenths =newfraction(8,10);

/*Reduce

thefraction*/reduce_fraction($eight_tenths);var_dump($eight_tenths->to_string()); ?>