[Zend权威认证试题讲解]第一章-PHP编程基础
你必须有一定的经验才能完成这套ZEND测试题。这并不意味着你必须是超级高手——很简单,为了通过这套测试,你只需在日常生活有足够的接触PHP的时间。Lm8N2Q.bR因此,了解自己对“基础”的掌握程度非常重要。尽管这些知识非常“底层”,但却是PHP永恒的基本元素。没有回答好本套测试其他章节的题目可能只是说明那些问题并不是你日常PHP编程中经常接触的部分;但如果在本章就做错大量的题目,你就要警惕了。总之,如果你基础薄弱,就会影响你对进阶知识的理解。Xu$vQ$S2d
问题
0c'@ K7_s!XY
1. 选择合适的答案填入空白处*pqz0s K ExH
PHP是一种______脚本语言,基于______引擎。PHP最常被用来开发动态的______内容,此外,它同样还可被用来生成______(以及其他)文档。@C\h:{YuIc#OF;j
A.动态,PHP,数据库,HTML
B.嵌入式,Zend,HTML,XMLZ\9v,F6z7E;^,g
C.基于Perl的,PHP,Web,静态
D.嵌入式,Zend,Docbook文档,MySQL)J p*O;[0B%a1z b
E.基于Zend的,PHP,图像,HTML AG7vz1U'P$n#L
"s"?Ct oE
2.以下哪种标签不是PHP起始/结束符?#[bMi~ T
A.<% %>
B.<? ?>6k TT1^r;eO x.Hs
C.<?= ?>#O `u&v0\*hG X7F,z8uy
D.<! !>I)x(vaE%g
E.<?php ?>G&B7d!dq$Hv%MVf0W
3.以下代码哪个不符合PHP语法?$kC#qE7d$nm/J |
5R0iQ8iA6Q
A.$_10V!W K#U DxK
B.${“MyVar”}
C.&$something
D.$10_somethings#c!} fe3K,[d+S0e
E.$aVaR|"S(XxZm t2{3?2u'l l
3{1EXI5olc
pL N E U-C
4.运行以下代码将显示什么?9P3o/X3?$y,{/U
[code]
<?php
define(myvalue, "10"); @|8ej:r3g"z
$myarray[10] = "Dog";
$myarray[] = "Human";
$myarray['myvalue'] = "Cat";
$myarray["Dog"] = "Cat";7Pq2[,`:G$?c.|qG
print "The value is: ";T!^AR%e{~]j4EV8v
print $myarray[myvalue]."\n";
?>A E7DPZ/^/eI5{
[/code]/u Z"{c)X!Z
A.The Value is: Dog
B.The Value is: Cat,X5mR7o2~5@8e
C.The Value is: Human)c ^sK?
D.The Value is: 10
E.DogjC} vtgs(J
5. print()和echo()有什么区别?
A.print()能作为表达式的一部分,echo()不能
B.echo()能作为表达式的一部分,print()不能
C.echo()能在CLI(命令行)版本的PHP中使用,print()不能
D.print()能在CLI(命令行)版本的PHP中使用,echo()不能
E.没有区别:两个函数都打印文本!7lFVu?z c vh~
0d7l4ud1H!E![
6.以下脚本输出什么?
[code]
<?php/b N%xS?6K5T B
$a = 10;
$b = 20;!j;? Ll\;KdU
$c = 4;.RO\c&I
$d = 8;
$e = 1.0;
$f = $c + $d * 2;*~ F]8jV/h7R
$g = $f % 20;Uh3I+|6P|uQ4k
$h = $b - $a + $c + 2;HN` J k
$i = $h << $c;
$j = $i * $e;
print $j;
?>[/code]
A.128
B.42
C.242.0k2TY6C1]x
D.256
E.3422F5F^ cV9ByC
7.如何给变量$a,$b和$c赋值才能使以下脚本显示字符串“Hello, World!”?e0U8O Fh8Vt
[code]
h:K3ed \P?
<?php7I5k$n"Zf+m
$string = "Hello, World!";
$a = ?;]6Poa RQ jd
$b = ?;
$c = ?;
if($a) {&{z\"J|wj)M
if($b && !$c) {
echo "Goodbye Cruel World!"; J3uM/K+ucxGa
} else if(!$b && !$c) {
echo "Nothing here";
}
} 5o1I}:l.OX:eJV
else {
if(!$b) {
if(!$a && (!$b && $c)) {
echo "Hello, World!";
} else {
echo "Goodbye World!";
}m1P"tv T4{)y
} else {.u }bml+s-DJ$Q
echo "Not quite.";\F$NrJG0Y
}
}
?>;`"bgt!A1}#yL
l@0h:U(kQ^ Z
I*y6v e2O
[/code];X zZ(r1_\~Kz
8.以下脚本输出什么?h(L-W M#W
[code] J"wJ9k"ZM%v$j+G
3i*KO#x z|RoMjs
<?php#Z|-Ka Oo
$array = '0123456789ABCDEFG';0io&d-e-`0|`
$s = '';{ H Aq7@\
for ($i = 1; $i < 50; $i++) {
$s .= $array[rand(0,strlen ($array) - 1)];
}R0D[6y;g\
echo $s;
?>
-B8r\(Q'A0S%Eh
[/code]1OFH4|[W _G
A.50个随机字符组成的字符串
B.49个相同字符组成的字符串,因为没有初始化随机数生成器
C.49个随机字符组成的字符串
D.什么都没有,因为$array不是数组pb1ud)y.C
E.49个字母‘G’组成的字符串
Rq#x { Y
9.哪种语句结构用来表现以下条件判断最合适?
[code] &G1ZpHwi
<?php
if($a == 'a') { n3m9vyW)t
somefunction();
} else if ($a == 'b') {{R7S_(@{#YPU!zF1K9k
anotherfunction();
} else if ($a == 'c') {
dosomething(); pT{t\ K,x;jV
} else {
donothing();
}
?>&q^]PB:Q
[/code]
A.没有default的switch语句
B.一个递归函数0X1p-r*lhL
C.while语句k+pz"oP+fr#OB/We{
D.无法用别的形式表现该逻辑
E.有default的switch语句
T.wQ:ZM
h nF+gE d.Lb
10.要修改每个元素的值,如何遍历$myarray数组最合适?2VE(P B-t.I L [2h
[code]
<?php.rf;]$^3|
$myarray = array ("My String","Another String","Hi, Mom!");
?>4emu:NE-\3K nx
[/code]
3v Rj2E2]\ k*vN
A.用for循环
B.用foreach循环
C.用while循环
D.用do…while循环
E.办不到!6B7SrJ5b)R1p
Ej5b@w5vxJRJ
11.考虑如下代码片段:Z(?Z0a2w"F8qu'i
[code]
<?php
define("STOP_AT", 1024);
$result = array();
/* 在此处填入代码 */
{
$result[] = $idx;ee2JR*D;t m]
} Roi@2s$gtf7c
print_r($result); p-R a(Ys%\"Rc
?>[/code]
标记处填入什么代码才能产生如下数组输出?2gr#U'lV?i(F:yC
EZv"f Gv ^Z
Array0c\7vB&N ][
{
[0] => 1
[1] => 2
[2] => 4
[3] => 8:I^%n&g |:C"b:P
[4] => 16
[5] => 327w/t5hB4[
[6] => 64
[7] => 128
[8] => 256
[9] => 512
}
MG4]X!w
A.foreach($result as $key => $val)"U6Fw$s$| d)Ycm
B.while($idx *= 2)
C.for($idx = 1; $idx < STOP_AT; $idx *= 2)+_.fs"{9DSSa
D.for($idx *= 2; STOP_AT >= $idx; $idx = 0)
E.while($idx < STOP_AT) do $idx *= 2
12.为用户定义函数is_leap()选择一个合适的函数声明。is_leap使用2000作为默认年份。