生命力頑強的種子,從不對瘠土唱詛咒的歌。以下是小編爲大家搜索整理了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()); ?>