捌玖网络工作室's Archiver

admin 发表于 2008-4-4 02:19

[Zend权威认证试题讲解]第一章-PHP编程基础

你必须有一定的经验才能完成这套ZEND测试题。这并不意味着你必须是超级高手——很简单,为了通过这套测试,你只需在日常生活有足够的接触PHP的时间。}-AC c-N A`U0^
因此,了解自己对“基础”的掌握程度非常重要。尽管这些知识非常“底层”,但却是PHP永恒的基本元素。没有回答好本套测试其他章节的题目可能只是说明那些问题并不是你日常PHP编程中经常接触的部分;但如果在本章就做错大量的题目,你就要警惕了。总之,如果你基础薄弱,就会影响你对进阶知识的理解。
g-W-\rPe;C;n!t z 7aJ"K*_cWz(]NV,I/l
问题^ qmh$__[yr
({4})?(kT
1.    选择合适的答案填入空白处
7C4N_/Q%P'l8sBr \6YE5Ys$UU?
PHP是一种______脚本语言,基于______引擎。PHP最常被用来开发动态的______内容,此外,它同样还可被用来生成______(以及其他)文档。0C2{2m"Xu:a
tgJ `-`)W(xm3e|
A.动态,PHP,数据库,HTML
![-Yn2[dP B.嵌入式,Zend,HTML,XML
|I%zR x-N;| C.基于Perl的,PHP,Web,静态K)|c(|maC
D.嵌入式,Zend,Docbook文档,MySQL
7ov}.gWZ1O t E.基于Zend的,PHP,图像,HTMLk T3}JN%~Kd
.]S.Iu/FJh
HlVG.FR W
2.以下哪种标签不是PHP起始/结束符?
!tr E._3n 6U/s I+o-Y[2I5@
A.<% %>
5@!Z$?,@X:U/q~ B.<? ?>|4l1[Nt }\]5kC
C.<?= ?>oP9a5Y4vy
D.<! !>
7g4WV-C4Jb#q @!J E.<?php ?>/odv x*mF mwF

C]&m$Tk :t AU/z.aE!f
3.以下代码哪个不符合PHP语法?
8[,C t s$l#h b
y9G0_Qlo&{HIS A.$_10
em#nmC ?4` B.${“MyVar”}
n4UR7z\h C.&$something
U"D Se$M D.$10_somethings
0X2l8Bj3T-yR.B6c E.$aVaRsy_{{Y

%Ymg1y@f/U
}yL3L g{ 4.运行以下代码将显示什么?
;}7U)GK:y _6u [code]
NC\8Y*E'g'] KC <?php
/VUQ'U%D` define(myvalue, "10");
UU5DVQT $myarray[10] = "Dog";
$O2n_ zRk $myarray[] = "Human";&hK!q I^2G
$myarray['myvalue'] = "Cat";!`2?d@ k
$myarray["Dog"] = "Cat";-h${#vY!K
print "The value is: ";$\8c{&kA,J)}%j6k*G
print $myarray[myvalue]."\n";*K*Ll*^ eW
?>!wA2ni0C-Py W[
[/code]r)|6`9b a`l
A.The Value is: DogF%^ I@jg^
B.The Value is: Cat
,\*h"e{ d:t C.The Value is: HumanjkM fc
D.The Value is: 10
4R%x&WK4@6SO E.Dog
0RI2d9MZ s3`%u*f
S.N/z9P)Z4q
7K F?.togf0L'@Y 5. print()和echo()有什么区别?(t}v9W|Gw

AU#c.[P1_ A.print()能作为表达式的一部分,echo()不能;M2d bk^3R!^z
B.echo()能作为表达式的一部分,print()不能
-V6` f? V9v swa3u C.echo()能在CLI(命令行)版本的PHP中使用,print()不能
r0g}+?&@m#ar D.print()能在CLI(命令行)版本的PHP中使用,echo()不能7v8|~3iB^x"r/@
E.没有区别:两个函数都打印文本!
be$@u] k'm )? _:f~)J
0`'eGJw'y9p
6.以下脚本输出什么?x@/x],b/@nc7E
[code]
F b3Q$`tEC v <?php
^)y@.u%{0hkoO $a = 10;
d-B!C0y/p;cs(Y.r.O $b = 20;
,Fx)K$NH $c = 4;%D/UH}7J
$d = 8;9{4? x Cx
$e = 1.0;
N6wzyu4gU3Zm $f = $c + $d * 2;
"l1}l nv"O $g = $f % 20;
.VRw"N0I9n $h = $b - $a + $c + 2;
J:o tW4IR7Z"b $i = $h << $c;Y)l/PX;fM4s
$j = $i * $e; WfCJO1t+Q'a
print $j;
[4[2w v3J^G@,J ?>[/code]
nwzTL$q]y3R/D4xF u~ A.128
W3V"y&m/q B.42]+Np7T:S6t
C.242.0o[)jO!]
D.256
#\!K2H Y _ a&m+Qo E.342~2H'@.QLIoc7L%l P
/o7eD C:p5Kg5v
7.如何给变量$a,$b和$c赋值才能使以下脚本显示字符串“Hello, World!”?8O8R^.{'z*}2j:n
[code]
(He5F cy S@ "r.?g{6}'F,N i
<?phpU B })iS1t bWm
$string = "Hello, World!";
"n%}?(U#ul v"JO $a = ?;
F ed\ fc $b = ?;
2b\ n6K,z9NQU $c = ?;
qTj7{&c r$E:PWU#?,V if($a) {E ^ehK2CM&r
        if($b && !$c) {
9lC~"gxb         echo "Goodbye Cruel World!";
7e,qn6G]+[         } else if(!$b && !$c) { VR-qmd"t
        echo "Nothing here";
XKk5qkN7}         }xQ4vU/M2tI+VCx
}
z{:l0@(L gK else {*fV`:J y
    if(!$b) {R8fw B4Bk
        if(!$a && (!$b && $c)) {
w[k;}2m*{             echo "Hello, World!"; MN:K R4ux2Q0zg
        } else {
XT7tZ(RpkMch+P             echo "Goodbye World!";
"X&c'Z-p J-SJ#@         }KyG M&?M K5J
        } else {%vcJ%]w#h
            echo "Not quite.";
X8[9m \9B3q         }
CXE:CQ]+K }
F T*` ^0fi ?>
*e8T ZP w"lT|0f o1X&H$g l+[D/MB+Prx w

l.}Vgy [/code] ^"U9I|Or1e3xu!BjF
8.以下脚本输出什么?9s_4Di3h
[code] 3qF[su'T+CXW

4a'arT$BiT-_K <?phpKS;oyD4A/zS
$array = '0123456789ABCDEFG';
5P-`K]bIXp`(Ku0n $s = '';
.B@2M {l7W6Y for ($i = 1; $i < 50; $i++) {
,bz1HwA#i2?         $s .= $array[rand(0,strlen ($array) - 1)];
(M_Z;E JA,n"lH }ZSn nLWn8{ RH_7C
echo $s;7}1tc8u?+]?&c0K
?>}2wn7l7hp*k
Y6C(j(? ~+^

{:c_4_\^@v4\p [/code]Jm@-nc|#U'^)y)c;C
A.50个随机字符组成的字符串
E%M Nr0T B.49个相同字符组成的字符串,因为没有初始化随机数生成器
sg[ }NiSl C.49个随机字符组成的字符串
K+c-t?0e]| D.什么都没有,因为$array不是数组
'j.u^Qi])p+D[0l E.49个字母‘G’组成的字符串
,HQ\ Hp'K
f+@BX LVoo&@9I 0P8a)s:UO^2j
9.哪种语句结构用来表现以下条件判断最合适?
P6hFv!z#S zQl [code] k,t_j$m8E
%K [-?K#ta"D s
<?phpyE6s&|}} Z YQ
if($a == 'a') {7J"@9ld)W{C"ht0W
        somefunction();:o jWHj |,~WK
} else if ($a == 'b') {*OVxaN.h%A
        anotherfunction();,O m;c1~}o&P
} else if ($a == 'c') {
{A8|&f };Ln,?"aW         dosomething();
y|E p)Xbe*D } else {
gGaTs h         donothing();I+A[:z ]8h%z2~eg
}bc|g CjNloY O,B
?>fZ-Bz,KG!z

,N| Z;bn7w&]#P6vC
Hm({:g;_ [/code]
X$dp(bL:z+f\-p ` A.没有default的switch语句 U aHx2f?
B.一个递归函数,euY[B~}-i o
C.while语句 [-v!d&NB#mW;Oi!d,`
D.无法用别的形式表现该逻辑
$\&s+Q+t3icx{ E.有default的switch语句aQnq/xEwf
6H*O(s?2h:v;r
A:vV;v B GQh)V
10.要修改每个元素的值,如何遍历$myarray数组最合适?
Kz.Y R*vIJ9y ` [code] p]V3jpS4o |
$r)Vo*nBY
<?php#Q-m1s;\b
$myarray = array ("My String","Another String","Hi, Mom!");
aT y%iHoQ/tA1Vy ?>`8r+u d.Sr2])hO0b

v5o!k1P&p8{ [/code]
6pq$R1R&\R7^O#d
$H(A#b#? }8T A.用for循环7}mj@ M
B.用foreach循环
hy0f;?G C:nl C.用while循环~4az8O Tp_1Z m#m/[
D.用do…while循环
W'{#W q0~5O | E.办不到!;cd8X4~ ~"Hq
j$n7v9L1w.cb*I1^|
!@}t8?z
11.考虑如下代码片段:6Z s%kND+K#j\
[code]
@7OA2p,n <?php^T5|!C#t,])J
define("STOP_AT", 1024);
_y sb1W!w,? $result = array();:Z1~ tt'O4mm
/* 在此处填入代码 */ Rm8_1TM uS,TU7E
{X:yX&Mc$][
        $result[] = $idx;
!tt{T(F }
s1c9b?!uV print_r($result);%Z2Q$I(ez0U1I$I
?>[/code]6|-D@VF$Q1\
标记处填入什么代码才能产生如下数组输出?
Y-|4OyS;rR
K D@i)N/^ Array
w'nP7`;m {)V\Z+lk+X s
[0] => 1:xa;n4QLYI
[1] => 2
"C({ q:R!M [2] => 4B A$TH0]"o2{ t)D,s
[3] => 8
%cA"^y;MZ6} [4] => 16
(t0]4cs6{{ [5] => 32
4]#`w*q~X.y6V vp;X [6] => 64
B"nl KXk [7] => 128LM!W!v d0x
[8] => 256QG%v ]:|c2G
[9] => 5125nY I#C3b
}
jRNxP7] 2{{B:r/s"oet$|Ln
A.foreach($result as $key => $val)
.m$gdY6JP,N5B B.while($idx *= 2)i![ zt%YX$~'L
C.for($idx = 1; $idx < STOP_AT; $idx *= 2)
Q2N$gEKKK{E D.for($idx *= 2; STOP_AT >= $idx; $idx = 0)
4JrV:D,n)W E.while($idx < STOP_AT) do $idx *= 2
O.s \,v|]P7^u]
u2rI)|*E~5_[7x*Z &\\B\#Yq
12.为用户定义函数is_leap()选择一个合适的函数声明。is_leap使用2000作为默认年份。
)Q,d k2]%yuTR [code] 3m+^S r.?)ny
<?php
*yR%|,o&?1^'|*G4u /* 函数声明处 */
hs$M(No l!Uz(w N {/B)C fMp8d(COu(b
        $is_leap = (!($year %4) && (($year % 100) ||
'^:@Zc1@N+J         !($year % 400)));
)OH-v3QW:G|         return $is_leap;J&Ze}GY
}
@ r|!w6U var_dump(is_leap(1987)); /* Displays false */
bEp y$@szp)O_4z var_dump(is_leap()); /* Displays true */&I(OH|)F%O
?>7U.J7D6l D ?.w&ai
~:d'ab4[~e
[/code]
Pf@C.h,E A.function is_leap($year = 2000)
4HgcNB B.is_leap($year default 2000)
J0QL9Yug$[U2xO C.function is_leap($year default 2000)
)hWZ'l&Ff)r]lSM D.function is_leap($year)#`mS raIzW
E.function is_leap(2000 = $year)1Xe6w/wy}8N#R

#R v(GZz"G1b`P Z
E|]~;G.M&W 13.运行以下代码将显示什么值?假设代码运行时的URL是:testscript.php?c=25
$Ecm:M6P3AB)d*K#@ [code] 1qMe6{TGSFt| {

{F'`R uI6H/R]a1NOK <?phpp#r\iO I
function process($c, $d = 25)&ij]&v N!qI ]Z
{
7A:U|:@W-d)O         global $e;
7eF?!uK!~ai         $retval = $c + $d - $_GET['c'] - $e;
"[7Q1X?#e1P f         return $retval;
6C"H,^3A\#u!y }A'O(iP3R4i7Mc9R2d
$e = 10;
E~'@ a9R7CO~1x echo process(5);
WC#DCa ?>[ {3nhQZ(p\:f
[/code]F-sK%W#J \J`
A.25 Ue.^&h)H Fo"n
B.-5
!^+m0l as2S C.10
"Aj,|~5g2HWe(b D.5f"S IY0K/J
E.0
\G(]I,XY;B$j7lS xo4jPAO f/q'b

v`m NP {*h 14.考虑如下代码:
.\?;w*@K U [code]
c3SeM~1T9AU a <?php7HdU FvQ6Y'ur Fg
function myfunction($a, $b = true)
0Fz\A3hd^ {
COm B'a'o-l8_V         if($a && !$b) {l8F sB3T)C
            echo "Hello, World!\n";x\4G-VMKV1Vs/x
        }
~5@5chMK%t? }
4Zy9t/nKsgJ%W $s = array(0 => "my",!VU,}]`O&| }U
1 => "call",
VM;NtNC? Jl[D 2 => '$function',Wb^M$q:@*H8s
3 => ' ',
2UiE_k%QhP4L 4 => "function",&qsw9yEX
5 => '$a',
P S4\4D I-]wX 6 => '$b',
}{m\4~4@/?T 7 => 'a',
.rd MTx0Z @6Aa 8 => 'b',
6Us+{un ?y 9 => '');
aC v E m4D $a = true;
l5s#hD'f $b = false;B*RZ1d3NdH%L8er
/* Group A */)_5z~+G(O;^m.g2z
$name = $s[?].$s[?].$s[?].$s[?].$s[?].$s[?];)yu&Ly!C6S'm.Fp
/* Group B */m\1Q.L];_r#~b~{
$name(${$s[?]}, ${$s[?]});
:if0c2ji W ?>Pz:QIX ci2\
[/code]S!F!B Vp O\
脚本中的每个问号(?)代表$s数组的一个数字索引。要想代码执行时显示Hello, World!字符串,该如何选择数字索引?
L@[#J0V oUh A.Group A: 4,3,0,4,9,9 Group B: 7,8
#[k!hez!u3p B.Group A: 1,3,0,4,9,9 Group B: 7,6
jH`.y V3BEmR2^ C.Group A: 1,3,2,3,0,4 Group B: 5,8
FJ%iH6YO+s D.Group A: 0,4,9,9,9,9 Group B: 7,8y!CE4t_/^
E.Group A: 4,3,0,4,9,9 Group B: 7,8
?!RGo+Hzq+bn g0` }"I_#@ E:b+}k

W Zq-cKJA.v+C 15.运行时(run-time)包含一个PHP脚本使用______,而编译时(compile-time)包含一个PHP脚本使用______。,nsc"MYv}

'kH:H/^ s'qtW#k A.include_once, include
Cl] q2A\#L]V B.require, include%pIj+q L/Z)N%j
C.require_once, includeS(d+`-xg {d5`b-I
D.include, require
L'_1v'n1o#^zRe E.以上皆可
8v;tY+G(J'eh.X zl]uy b ]

9n5X J0}1Q~ 16.什么情况下声明函数时不能给参数赋默认值?
XVCzK"bt LT.B/k&g2s rhs
A.当参数是布尔值时L(O{ u:c)Ad0r+B
B.当函数是类中的成员时
gfXrO!? v)}Xv5m C.当参数是通过引用传递时9S7k%g2hdIGtD2I.o
D.当函数只有一个参数时
M&_/} t-[-fU E.永远不会
OkB!X#H.z
V f_!ZpG(Y4qG1P 4U1q:_&RcGL
17.______操作符在两个操作数中有一个(不是全部)为True时返回True。Zy y|'\k:y9w

*{E.E x9z4W-N0B     答案:____________ c Q~Vp*u/E-?T

;ai y7h'x+Q^ 5C/`.aYv
18.全等运算符===如何比较两个值?
\]+[Z ArS ,I0}J,W*n)G8o
A.把它们转换成相同的数据类型再比较转换后的值ST;DLjA
B.只在两者的数据类型和值都相同时才返回Truen t nYct
C.如果两个值是字符串,则进行词汇比较
X#X8}$g*E D.基于strcmp函数进行比较
uNm1]2yH E.把两个值都转换成字符串再比较
7q4s2L3U/xA8~4n
tK }2z8`-W&Q?s7PM%C Z 7e9p_bG3d8s{
19.以下哪个选项是把整型变量$a的值乘以4?(双选)
S.j&O/ew x
dc?1sf7nf&b A.$a *= pow (2, 2);n)M;so qC3\ q
B.$a >>= 2;
E\;?GdL:w#B;{l v C.$a <<= 2;Sug.j^7i ]M
D.$a += $a + $a;
O g2bpx;e l E.一个都不对
o0t@a8V'U(J0c7O0V
Buwg#Q(j p O -IU]hXy E'M3L
20.一段脚本如何才算彻底终止?g5yQ0MPH

9W&B6_&lI,y'] A.当调用exit()时7bA { H-wJR s1S
B.当执行到文件结尾时-UU;Zi;t:E(U\[0|
C.当PHP崩溃时,} E WFJr"I-M
D.当Apache由于系统故障而终止时^y2s(I,z;gZS
H{ G1MC
2Z^ ^,p*|2m9ER
答案速查*Gnam^P(s
1.B9G4_G2n t4n!k+~ {$PP
2.D
i[P$f&[@ 3.D
VV|+N1VbYGz 4.A
kq)]'|a&A;mM7_E 5.A
Uw0S+z6_;f'r-u 6.D
.a#o!?:Wi3?t ] 7.D
Kye+w*X/A+Gg0X }U:J'W 8.C
7H }3to J WRB/Eo 9.E\2` K?[\
10.AC/p0m{u6o*}~
11.CIF ~ J8^"@(v^3vf(Y?
12.A
xfF8} q-| w"_"cH} 13.B
s&ww/v v(V 14.Dz?2u(s$u+iR
15.E
yS7cs'E6T.|,Yho*^ 16.C!mYs(Ly|4g%C
17.xorU/a]*?#u? N
18.B
&x*|&J X Q|r'C 19.AC
3X%dj'X ^;f~4~ 20.A O nE;H`l&y%O
+\*r*a.q^7i*H^ P
]}J!m} H-dv
答案详解
#T%M'zt W+{`)H?'?X 4g|A*E$r|#Y4O.S.aHa
1.唯一有意义的答案是B。PHP是一种基于Zend引擎的脚本语言,它通常被嵌入在HTML代码中。它主要被用来开发HTML文档,但是也可以用它来开发其他类型的文档,比如XML。
[9e4{?I [,_ q+u:rL {3}9a
2.PHP编程中,人们不太使用<% %>和<? ?>两个标签,但它们确实是合法的PHP界定符。<! !>标签是非法的,因此正确的答案是D。记住,根据php.ini文件中的配置不同,这当中的某些标签无法在特定的情况下使用。ZB!v6}Lk"g
O1^(Yu8?
3.PHP变量以一个美元符号为开头,后面跟上任意数量的数字、字母和下划线。${“MyVar”}是一个合法的变量名,它使用的是较松散的命名约定。&$something是对$something的引用。然而,变量名不能以数字为开头,$10_somethings是非法的,因此答案是D。
`'Y \5da#J ;b;l.|,o'@p
4.注意,$myarray的键值并没有打上引号。所以,正在访问的键不是myvalue字符串,而是常量myvalue的值。最终访问的是$myarray[10],值是Dog,答案是A。"J[eW'gNn
eA_B~7d(qr
5.尽管print()和echo()在绝大多数情况下可以互换使用,但它们之间还是有一处不同。print()是函数,有返回值;echo()实际上是一个语言结构,没有返回值,并且不能在表达式中使用。因此,答案是A。#p/W8I8nE.MLT

+w/f.@Q2YX#Akj 6.%运算符表示取模,它返回两个操作数相除的余数。<<是左移运算符,相当于乘以2的N次方。最后的答案乘以了一个浮点数,改变了它的数据类型。但是,由于小数点后是零,因此输出的结果不包含小数部分。答案是256(D)。(`jt}3U
T;aMCV^I5^ R
7.根据条件式的逻辑,要想得到Hello, World!字符串,必须要在第一个if结构中满足else的条件。因此$a必须为False,然后$b也必须为False。最内层的条件语句的实现要求先前的两个变量($a和$b)是False,而$c必须是True(答案是D)。+^v$?(f+V-]k

;|"_iMQ$P 8.正确答案是C。从PHP4.2.0开始,除非已经给定了一个伪随机整数列,否则不再需要用srand()函数初始化随机数生成器。此外,即使随机数生成器没有被事先播种,脚本仍然会生成49个伪随机字符。尽管$array变量是字符串,但可以用访问数组的方式进行访问——使用数字索引访问某个位置上的字符。最后,for循环将从1开始执行到50,也就是执行了49次。
,Q-Tjg't 9ZEN7]3zH!il^#h
9.用一系列的if…else语句来检查一个条件的代码块,最适合用switch语句来替代。#{5xGb&z-Y;y(Nd
[code] S+kd:W4O:}\x
<?php+kD{X8Q i
switch($a) {Tp/G2r^:JFRqU
    case 'a':
"Y1eCO)B C#v`t2C         somefunction();
N'J8ad7PE1p         break; yN7U[x#j)l
    case 'b':
Ti\2Yct Bh/R,X         anotherfunction();
O?Y:s9J C*A3a&V*T         break;[2V-R3YK
    case 'c':
xuPXy+d9wS         dosomething();$f,j,VV*x dn
        break;s-zx&N/g ^R
    default:&ctk(C:u ]
        donothing();i+B.?2q,x-V#rM`
}V$aR7uf c%SK
?>[/code]
2T+\M i*Z!T#m#D"A~ oN 因为if语句中有一个捕捉所有其他条件的else,对应的,switch代码块需要一个default。正确答案是E。
(Wj P)JfP ^m&I7U)R YNv9@c
10.通常情况下,foreach语句是遍历数组的首选。但是,由于foreach语句是在数组的副本上进行操作,而我们需要给数组中每个元素重新赋值,所以在这里foreach就不适用了。尽管也可以用while循环和do…while循环,但由于数组是顺序索引的,最合适的语句还是for语句。因此答案是A。
1uM4PoT+Qc [code]
-_"~6jQr+vD
`DS_&_SW*m}mR <?php
1Jxg!K&i $myarray = array ("My String", "Another String", "Hi, Mom!");
{WO2G4s z7\ HF` for($i = 0; $i < count($myarray); $i++)
K%JUs4].k)j`#t {wMR i ?U*ja
    $myarray[$i] .= " ($i)"; M)ev:~ c?#J?,_
})J1z#h { E6\H kv0w U
?>
"t&y2B&[@a;G(E [/code]a'n J![5]%Oki
11.由于题目只允许填写一行代码,唯一合适的是for循环,因此答案只能是C或者D。要选出能生成正确结果的for循环,我们必须先复习一下for循环的构成要素。PHP中,for循环是这样声明的:
:@EEN J&xb(M s for(<初始化>;<继续执行,直到>;<重复执行>)!u7WH5m/R5]y
<初始化>在循环开始时执行一次,然后for循环开始执行大括号内的代码,直到<继续执行,直到>的值为False。每完成一次循环,执行一次<重复执行>。因此,正确的代码块应该是:
:R^X5Vh` for ($idx = 1; $idx < STOP_AT; $idx *= 2)o(@/o3Pk
答案是C。
'N/@T;xQ `:Wu_7C3k
12.5个选项中,只有两个是合法的PHP函数声明(A和D)。在这两个选项中,只有一个设置了参数的默认值——答案是A。~/i.\r5\a]
aJ)d1_&q q Ij
13.本题考察PHP中变量作用域的相关知识。你必须明确global关键字是如何将变量引入本地域的,以及$_GET、$_POST、$_COOKIE、$_REQUEST等超级全局变量的作用域。本题中,最终的数学表达式是5+25-25-10,等于-5,答案是B。8n~5O?7O Af.XH#]s?H
![:i1J `oU O LS!K
14.函数能被以一个包含着函数名的变量后面加上括号(以及必要的参数)的形式动态调用。对于Group A来说,合适的索引组合是0,4,9,9,9,9,产生字符串myfunction。另一方面,参数将使用${}结构的可变变量。对Group B来说,合适的索引应该是7和8,等于${‘a’}$和{‘b’}——即$a和$b。因此答案是D。
bzq/k.g3zU 0nv0^Mm5y5P[
15.在较新版本的PHP中,require(或requier_once())和include()(或include_once())只有一个区别——如果包含的文件不存在,前者将产生一个致命错误,同时终止脚本的执行;而后者只会产生一个警告。因此答案E正确。m%N;B$]x-qu;y

E7x l9PZB 16.当参数被声明为通过引用传递时,你不能给它赋默认值,此时解释器期望获得一个能在函数内部进行修改的变量。答案是C。(D7RvhY1Ld4xU
y'`/[y"q@+[ m
17.正确答案是逻辑异或(xor)运算符。
Jn A]b)x
)E*U [ dQ'or 18.全等运算符比较两个操作数的数据类型和值,两者中有一个不同,都会返回False。因此答案是B。$r+\et4S%^

x'C`&t[-b 19.答案是A和C。A选项中,pow函数计算2的平方,答案是4。C选项中,左移运算符将$a的值左移两位,相当于乘以4。
UcM8fB
c?$cs+} k 20.答案是A。一段脚本并不会在执行到文件末尾时终止,所以当前文件才能被其他脚本包含。至于PHP和Apache崩溃,这两个说法就太恶搞了。

页: [1]
【捌玖网络】已经运行:


Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.