PHP復習題(選擇題)


PHP復習題(選擇題)

1. 如何使用 PHP 輸出 “hello world”?

A.  "Hello World";

B.  echo "Hello World";

C.  Document.Write("Hello World");

 

答案:B

 

2. 下面代碼執行結果是?

<?php

FUNCTION TEST()

{

    ECHO "HELLO WORLD!\n";

}

test();

?>

A. HELLO WORLD!

B. 沒有任何輸出

C. 編譯錯誤,代碼無法運行

D. hello world!

答案:A

 

解析:用戶定義的函數和語言關鍵字對大小寫不敏感。

 

3. 使用 PHP 創建注釋的方法下面哪一種正確?

A.  // 注釋寫在這里

B.  /* 注釋寫在這里 */

C.  # 注釋寫在這里

D. 以上全部正確

 

答案:D

 

解析:這三個都是有效的,它們是從 C、C++ 和 shell 代碼中借用的。

 

4. 在 PHP 中未定義的值的變量使用以下哪個關鍵字表示?

A.  undef

B.  null

C.  None

D.  PHP 中沒有這樣的概念

 

答案:B

 

解析:在 PHP 中,不區分大小寫的關鍵字 NULL 用於表示變量沒有定義值的情況。

 

5. 下面哪個選項用於聲明常量?

A.  constant

B.  define

C.  #pragma

D.  def

 

答案:B

 

解析:聲明常量使用函數 define,例如:define(PAI,3.14); 也可以使用關鍵字const定義常量,例如:const PAI=3.14;

 

6. 以下代碼打印的結果是?

<?php

$var = '0';

if ($var) {

    echo 'true';

} else {

    echo 'false';

}

?>

A.  true

B.  false

 

答案:B

 

解析:字符串' 0' 是轉換為布爾值的特殊情況,它轉換為 false。

 

7. 執行以下代碼,$var 的值是多少?

$var = 1 / 2;

A.  0

B.  0.5

C.  1

 

答案:B

 

解析:PHP 中沒有整數除法,所以它的值是 0.5。

 

8. 以下代碼定義了一個數組,如何訪問' d' 的值?

<?php

$a = array(

    'a',

    2 => 'b',

    1 => 'c',

    'd'

);

?>

A.  $a[0]

B.  $a[1]

C.  $a[2]

D.  $a[3]

 

答案:D

 

解析:'d' 的值為最大的整數索引+1。

 

9. 在 PHP 中,所有的變量以哪個符號開頭?

A.  !

B.  &

C.  $

D.  @

 

答案: C

 

10. 如何從使用 “get” 方法提交的表單中獲取數據?

A.  $_GET[];

B.  $_POST[];

C.  Request.QueryString;

D.  Request.Form;

 

答案:A

 

11. 在 PHP 中創建函數myFunction()的正確方法是?

A.  function myFunction()

B.  create myFunction()

C.  new_function myFunction()

D.  function $myFunction()

 

答案:A

 

12. 給 $count 變量加 1 的正確方法是?

A.  ++count

B.  $count++;

C.  count++;

D.  $count =+1

 

答案:B

 

13. 以下程序段,打印的結果是?

<?php

$a = array();

if ($a == null) {

    echo 'true';

} else {

    echo 'false';

}

?>

A.  true

B.  false

C.  語法有錯誤

 

答案:A

 

解析:空數組轉化為 null。

 

14. 以下程序段,打印的結果是?

<?php

if (null === false) {

    echo 'true';

} else {

    echo 'false';

}

?>

A.  true

B.  false

C.  語法有誤

 

答案:B

 

解析:=== 是值相等且類型相同,false 屬於布爾類型,而 null 屬於特殊的 null 類型。

 

15. 以下打印的結果是?

<?php

$RESULT = 11 + 011 + 0x11;

echo "$RESULT";

?>

A.  11

B.  22

C.  33

D.  37

 

答案:D

 

解析:十進制加八進制加十六進制數,11 + 9 + 17 = 37

 

16. $var 的值是多少?

$var = true ? 1 : false ? 2 : 3;

A.  1

B.  2

C.  3

 

答案:B  

 

解析:三元運算符從左到右求值,先算 true?1:false | true 判斷 等於 1

然后是1?2:3 , 1是true 判斷所以$var值是 2

 

17. 以下打印的結果是?

<?php

if ('2' == '02') {

    echo 'true';

} else {

    echo 'false';

}

?>

A.  true

B.  false

 

答案:A

 

注:數值字符串作為整數進行比較。

 

18. 以下打印的結果是?

<?php

$var = 'a';

$VAR = 'b';

echo "$var$VAR";

?>

A.  aa

B.  bb

C.  ab

 

答案:C

 

解析:變量名區分大小寫

 

19. 下面關於代碼的哪些陳述是正確的?

<?php

class A {}

class B {}

class C extends A, B {}

?>

A. 代碼很規范

B. 類不能為空

C. 類 C 不能同時繼承 A 和 B

D. 類定義中缺少修飾限定符 “public” 或 “private”

 

答案:C

 

解析:PHP中一個子類只能繼承一個父類。

 

20. strpos() 函數的作用是什么?

A. 查找字符串的最后一個字符

B. 查找字符串在另一字符串中第一次出現的位置

C. 在字符串中搜索某個字符

D. 查找字符串在另一字符串中最后一次出現的位置

 

答案:B

 

解析:strpos() 函數查找字符串在另一字符串中第一次出現的位置,對大小寫敏感。

 

21. GET 方法和 POST 方法的區別是什么?

A. GET 顯示在地址欄 URL 中輸入的表單值,而 POST 則沒有。

B. POST 顯示在地址欄 URL 中輸入的表單值,而 GET 則沒有。

C. 沒什么區別。

 

答案:A

 

解析:GET 方式以顯式提交表單,可以在 URL(地址欄)看見我們傳的參數 POST 方式是隱式傳值,不可見。

 

22. 如何在HTML <form> 中創建PHP數組?

A. <input name= MyArray[]/>

B. <input ="MyArray[]" />

C. <input name="MyArray[]" />

D. <input MyArray[] />

 

答案:C

 

解析:<input name=”MyArray[]”> 請注意在變量名后面的中括號,它就用來生成數組。

 

23. echo 和 print 有什么區別?

A. 它們的作用是一樣的

B. print 可以接受多個參數,而 echo 不能

C. echo可以接受多個參數,而 print 不能

D. print 是一個函數,而 echo 不是

 

答案:C

 

解析:echo 可以輸出多個字符串,print 只能輸出一個字符串,它可以表現得像一個函數。

 

24. 用戶 IP 地址存儲在哪個變量中?

A. $_SERVER['DOMAIN']

B. $GLOBALS

C. $_ENV

D. $_SERVER['REMOTE_ADDR']

 

答案:D

 

解析:使用 $_SERVER[‘REMOTE_ADDR’] 獲取客戶端 IP。

 

25. 哪個函數用於去除字符串的開頭和結尾空格 (或其他字符) ?

A. trim_str()

B. strip_str()

C. strip()

D. trim()

 

答案:D

 

解析:trim() 移除字符串兩側的空格,如果加參數,可以移除其他字符。

 

26. $_SESSION[] 的用途是什么 ?

A. 用於注冊全局變量

B. 用於初始化會話

C. 用於存儲當前會話的變量

D. 以上都不是

 

答案:C

 

解析:在 PHP 中,使用是通過預定義數組 $_SESSION 的存儲和讀取 session。

 

27. 關於Cookie 的描述正確的是?

A. Cookie 存儲於用戶本地磁盤上,里面保存着瀏覽器訪問過的網頁的一些信息(比如訪問時間、地址等)。

B. Cookie 存儲在服務端,用於數據交互。

C. PHP 不支持 Cookie 操作。

 

答案:A

 

28. 以下哪種類型的變量是只有一個值的特殊類型 NULL ?

A. 字符串

B. 整型

C. 布爾型

D. NULL

 

答案:D

 

解析:NULL 是一種特殊類型,只有一個值 NULL。

 

29. 下列哪個運算符用於連接兩個字符串?

A.  .

B.  +

C.  append

D.  以上都不對

 

答案:A

 

解析:要將兩個字符串變量連接在一起,請使用點(.)運算符。

 

30. 下面哪個函數用於生成隨機數?

A.  srand()

B.  rand()

C.  random()

D.  以上都不對

 

答案:B

 

解析:rand() 函數的作用是生成一個隨機數,這個函數可以在給定的范圍內生成數字。

 

31. 下面哪個函數用於檢查PHP中是否已經設置了會話變量?

A.  session_start()

B.  isset()

C.  session_destroy()

D.  unset()

 

答案:B

 

解析:使用 isset() 函數檢查是否已經設置了會話變量。

 

32. 下列哪個選項提供上傳文件的實際名稱?

A.  $_FILES['file']['tmp_name']

B.  $_FILES['file']['name']

C.  $_FILES['file']['size']

D.  $_FILES['file']['type']

 

答案:A

 

解析:$_FILES['file']['name'] 提供上傳文件的實際名稱。

 

33. 下面哪個選項用於銷毀 session?

A .  session_start()

B.  $_SESSION[]

C.  isset()

D.  session_destroy()

 

答案:D

 

解析:session 可以由 session_destroy()函數銷毀,也可使用使用 $_SESSION = array() 清空 $_SESSION 數組。

 

34. 下面哪個選項用於設置 cookie?

A.  setcookie() 函數

B.  $HTTP_COOKIE_VARS 變量

C.  $_COOKIE 變量

D.  isset() 函數

 

答案:A

 

解析:PHP提供了setcookie() 函數來設置Cookie。

 

35. 以下哪項關於 NULL 是正確的?

A.  NULL 是一種特殊類型,它只有一個值 NULL。

B.  特殊的常量 NULL 按慣例大寫,但實際上它不區分大小寫

C.  以上兩個都正確

D.  以上都不對

 

答案:C

 

解析:NULL 屬於特殊類型,不區分大小寫,只有一個值 NULL。

 

36. 下面哪種類型的變量是浮點數,比如 3.14159 或 49.1?

A.  integer

B.  double

C.  boolean

D.  string

 

答案:B

 

解析: integer – 整型,double – 浮點型,boolean – 布爾型,string – 字符串

 

37. 下面哪個函數使用 PHP 連接 MySQL 數據庫?

A.  mysql_connect()

B.  mysql_query()

C.  mysql_close()

D.  以上都不對

 

答案:A

 

解析:PHP 提供 mysql_connect() 函數來打開數據庫連接,新版本建議使用 MySQLi 或 PDO 來連接。

 

38. 下面哪個異常處理類的方法在發生錯誤時檢索錯誤消息?

A.  getMessage()

B.  getCode()

C.  getFile()

D.  getLine()

 

答案:A

 

解析:異常處理類方法 getMessage() 返回異常的消息。

 

39. 關於常量,下列哪個選項是正確的?

A. 常量與變量不同的是,名稱前不需要一個帶 $

B. 只有標量數據(布爾值、整數、浮點數和字符串)可以定義為常量

C. 以上都是

D. 以上都不是

 

答案:C

 

40. 下列哪個關鍵字用於引用類本身中的屬性或方法?

A.  protected

B.  $this

C.  public

D.  private

 

答案:B

 

解析:通過 $this 引用類本身中的屬性或方法。

 

41. 下列表達式中,哪個不是有效的賦值運算符?

A.  $b <= $b

B.  $b *= $b

C.  $b += $b

D.  $b -= $b

 

答案:A

 

解析: < = 是比較運算符,不是賦值運算符。

 

42. 下面哪個選項可以用來獲取通過 PHP 中的 GET/POST 方法發送的信息?

A.  $_REQUEST

B.  $REQUEST

C.  $REQUEST_PAGE

D.  以上都不是

 

答案:A

 

解析: $_REQUEST 變量可用於從 GET 和 POST 方法發送的表單數據中獲取結果。

 

43. 下面哪個語句將用於從 MySQL 查詢結果中獲取單行記錄?

A.  mysql_connect()

B.  mysql_query()

C.  mysql_fetch_array()

D.  mysql_fetch_row()

 

答案:D

 

解析:mysql_fetch_row() 函數從結果集中取得一行作為數字索引數組。

 

44. 使用myslq擴展連接 MySql 數據庫的正確語法是?

A .  mysql_connect($username,$password)

B.  connect_mysql($username,$password)

C.  mysql_connect("localhost",$username,$password)

 

答案:C

解析:mysql_connect($hostname,$username,$password)。

45. 下面哪個關鍵字與 Exception 對象一起使用?

A.  final

B.  throw

C.  exception

D.  throws

 

答案:B

 

解析:異常(Exception)用於在指定的錯誤發生時改變腳本的正常流程,結合 try, throw 和 catch 使用。

 

46. 下列哪個關鍵字用於設置類是無法繼承的?

A.  final

B.  break

C.  end

D.  stop

 

答案:A

 

解析:如果一個類被聲明為 final,則不能被繼承。

 

47. PHP 支持哪些循環語句?

A.  while 循環

B.  for 循環

C.  do...while 循環

D.  以上都支持

 

答案:D

 

48. 下列哪個函數檢查數組中是否存在指定值?

A.  key()

B.  extract()

C.  krsort()

D.  in_array()

 

答案:D

 

解析:in_array() 函數搜索數組中是否存在指定的值。

 

49. PHP 數字索引數組下標以___開始 ?

A.  0

B.  1

C.  2

D.  以上都不對

 

答案:A

 

解析:索引數組下標從 0 開始。

 

50. PHP中以__(雙下划線)開頭的函數稱為 ?

A. 自定義方法

B. 構造方法

C. 內置方法

D. 魔術方法

 

答案:D

 

解析:PHP 將所有以 __(兩個下划線)開頭的類方法保留為魔術方法。所以在定義類方法時,除了上述魔術方法,建議不要以 __ 為前綴。

 

51. 假設類名為 Myclass,下面哪個可以用來在 PHP 中實例化對象 ?

A.  obj = new Myclass ();

B.  $obj = new $Myclass;

C.  $obj = new Myclass;

D.  $obj = new Myclass();

 

答案:D

 

解析:通過 new 關鍵字實例化:$obj = new foo ();

 

52. 如果類是 myClass,下面哪個方法是調用類常量PI的正確方法 ?

A.  echo myClass =PI;

B.  echo myClass ::PI;

C.  echo myClass ->PI;

D.  echo PI;

 

答案:B

 

解析:通過 類名 :: 常量名 調用類常量。

 

53. 下列哪個函數可用於連接數組元素以形成一個帶分隔符的字符串 ?

A.  concatenate()

B.  concat()

C.  implode()

D.  explode()

 

答案:C

 

解析:implode() 函數返回一個由數組元素組合成的字符串。

 

54. 下列哪個函數用於將數組構成get查詢字符串?

A.  implode()

B.  explode()

C.  http_build_query()

D.  prepare()

 

答案:C

 

解析:http_build_query()函數用於將關聯數組轉換為GET查詢字符串。

 

55. 下列哪個關鍵字用於從同一個類(而不是子類)訪問靜態方法或屬性?

A.  set

B.  self

C.  strat

D.  static

 

答案:B

 

解析:self 可以訪問本類中的靜態屬性和靜態方法,可以訪問父類中的靜態屬性和靜態方法。用 self 時,可以不用實例化。

 

56. 下列哪個變量不能在靜態方法中使用?

A.  $date

B.  $set

C.  $get

D.  $this

 

答案:D

 

解析:靜態方法和屬性又被稱為類方法和類屬性,因此不能在對象中使用偽變量 $this,可使用self。

 

57. 把所有 p 元素的背景色設置為紅色的正確 jQuery 代碼是?

A.  $("p").manipulate("background-color","red");

B.  $("p").layout("background-color","red");

C.  $("p").style("background-color","red");

D.  $("p").css("background-color","red");

 

答案:D

 

58. 通過 jQuery,$(“div.intro”) 能夠選取的元素是?

A.  class="intro" 的首個 div 元素

B.  id="intro" 的首個 div 元素

C.  class="intro" 的所有 div 元素

D.  id="intro" 的所有 div 元素

 

答案:C

 

59.通過 $("div#intro .head") 選擇器選取哪些元素?

A.  id="intro" 或 class="head" 的所有 div 元素

B.  class="intro" 的任何 div 元素中的首個 id="head" 的元素

C.  id="intro" 的所有 div 元素中的 class="head" 的所有元素

 

答案:C

 

60. 下面哪種 jQuery 方法用於設置被選元素的一個或多個樣式屬性?

A.  style()

B.  html()

C.  css()

 

答案:C

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM