你必须有一定的经验才能完成这套ZEND测试题。这并不意味着你必须是超级高手——很简单,为了通过这套测试,你只需在日常生活有足够的接触PHP的时间。3 B* W9 \$ i8 w1 v2 U8 k
因此,了解自己对“基础”的掌握程度非常重要。尽管这些知识非常“底层”,但却是PHP永恒的基本元素。没有回答好本套测试其他章节的题目可能只是说明那些问题并不是你日常PHP编程中经常接触的部分;但如果在本章就做错大量的题目,你就要警惕了。总之,如果你基础薄弱,就会影响你对进阶知识的理解。 : f/ i" @1 E b2 ?; J. y2 d) T# ?0 T- J6 u
问题3 `/ e2 k* K" W3 T+ m
$ I: i" ~/ }- D+ t7 v9 J( L
1. 选择合适的答案填入空白处 , ], q3 s0 }6 ?" r* @) h8 Y( j& K/ F9 W , y5 i8 r" i! h+ E: i! BPHP是一种______脚本语言,基于______引擎。PHP最常被用来开发动态的______内容,此外,它同样还可被用来生成______(以及其他)文档。" l' p( W; K {. b8 Q+ x# u
( e: [) H m9 d- R3 o+ wA.动态,PHP,数据库,HTML ; R2 z! J3 O5 P' w8 t& [7 A5 cB.嵌入式,Zend,HTML,XML( S* ^4 q! _/ X# X1 [
C.基于Perl的,PHP,Web,静态 ' N- j2 M: M% @5 d( K$ tD.嵌入式,Zend,Docbook文档,MySQL / y, s7 G8 V% C; TE.基于Zend的,PHP,图像,HTML ! H y8 ^% j& C, u 1 |1 |0 m {* U @# w% o: E X8 g7 D: b' j9 R
2.以下哪种标签不是PHP起始/结束符? ! k0 H; C7 M, T- }7 o) q& U0 H9 _9 J0 e$ a3 f- H8 m. Z/ n+ g$ x
A.<% %> 4 Q2 p; s: k. n; b# nB.<? ?> + H) ^# W+ Z. s0 q% A4 h) v% K8 Z) OC.<?= ?>- b: y. N5 q/ X u$ ~! Y$ n
D.<! !> 1 x7 Q2 x1 h" Z! t( aE.<?php ?>5 B8 z& P5 U/ |. @& w
( M7 M H! K- Y" e4 {; L) ~
+ U. Q4 C a h8 J! y3.以下代码哪个不符合PHP语法? " H% e q$ n! ^* Q/ O' H - ~9 Q0 o V; [% `* u. RA.$_10+ F3 `& Y4 K4 T) [6 U) T& H
B.${“MyVar”} " d* M* {7 R. _, E* K2 N- {C.&$something & I: }; ?1 c) i4 e+ A( P2 k2 gD.$10_somethings ( k+ X; O; x( o* x5 d& u9 ?& Y9 f$ OE.$aVaR& \# a8 E% p! I# }( I5 |
7 b+ f4 a1 j* A: u8 N6 Z- c3 f0 X0 r2 `! q5 k
4.运行以下代码将显示什么?% p% M) D) e0 M" Y1 x r
<?php
define(myvalue, "10");
$myarray[10] = "Dog";
$myarray[] = "Human";
$myarray['myvalue'] = "Cat";
$myarray["Dog"] = "Cat";
print "The value is: ";
print $myarray[myvalue]."\n";
?>
复制代码
7 I4 O6 A4 F) k- r' e# wA.The Value is: Dog0 _! [7 f. s3 B: k, J/ d2 f' c
B.The Value is: Cat9 w4 C' M2 l A% M; x2 M6 g9 a
C.The Value is: Human N# a& K+ I2 O0 o i5 j0 O
D.The Value is: 10 ! w7 Z9 j$ r4 p9 w% _- Z! Z7 EE.Dog) R" H3 j. w5 Z$ o
9 _$ R: |3 N: t. q$ L
0 w% f0 Y% q) v/ A5. print()和echo()有什么区别?* x9 U' f+ J9 |. D
: L$ ?& [* e/ j
A.print()能作为表达式的一部分,echo()不能7 L8 @0 `1 P# N+ H
B.echo()能作为表达式的一部分,print()不能, f. X- i% L" O6 O7 G2 W
C.echo()能在CLI(命令行)版本的PHP中使用,print()不能 2 L5 q# z$ U7 p5 O6 rD.print()能在CLI(命令行)版本的PHP中使用,echo()不能 " r4 ?# Y, \4 U- rE.没有区别:两个函数都打印文本!7 f' _- o+ x2 f- p$ j/ \# E
. M5 p* I0 ]. q7 Q" S, j& S: d0 |" K' p( x6 ]! Y3 b
6.以下脚本输出什么?. {0 \) M3 X$ S- r. G1 _, B# i% |
3 Z$ J! |: t) M+ K
脚本中的每个问号(?)代表$s数组的一个数字索引。要想代码执行时显示Hello, World!字符串,该如何选择数字索引? 5 @ L/ a$ f; j9 D% r) f% LA.Group A: 4,3,0,4,9,9 Group B: 7,8 ; L6 e- ^. O8 o- Z q, GB.Group A: 1,3,0,4,9,9 Group B: 7,6 9 S( Z: |& Q+ `3 M' J$ m; YC.Group A: 1,3,2,3,0,4 Group B: 5,8 ( U3 Y0 T% h- c; U0 \D.Group A: 0,4,9,9,9,9 Group B: 7,8; W2 j, S4 f1 X; _
E.Group A: 4,3,0,4,9,9 Group B: 7,8! y l% k: h) U" n8 z
- a6 c( j+ e% G l/ |* x
F l' h; q V15.运行时(run-time)包含一个PHP脚本使用______,而编译时(compile-time)包含一个PHP脚本使用______。; A" W) o/ h& U8 O! Z4 I+ u! W
+ Y; n7 g2 ~6 j: m
A.include_once, include " [: i% g, e' }B.require, include # w9 V* |" l/ KC.require_once, include+ V* G$ e0 l: y# u6 B
D.include, require. R) f8 R0 a* P8 r# Q
E.以上皆可- a7 y7 J) Q0 q+ ]( v p! j! P5 n
9 J4 P+ s& f. Z7 I! |5 B# l/ y
7 h, _4 a- n+ Q3 w
16.什么情况下声明函数时不能给参数赋默认值?0 S- E; [: f( @
5 b" f$ O2 b9 `/ P
A.当参数是布尔值时 8 @6 m; x% ]4 s7 E0 t$ g3 V3 KB.当函数是类中的成员时 6 ~ Y' [+ M) D' U' G; lC.当参数是通过引用传递时7 y0 y# @. J- n _
D.当函数只有一个参数时! h$ y3 ]) H; s. L, G
E.永远不会) x3 b1 b, T2 X- Q
. P- ]' p& z/ i& e2 T1 m0 @( t8 S, U V; P( d9 t: L
17.______操作符在两个操作数中有一个(不是全部)为True时返回True。7 H* \% P2 j: P5 g
& n5 J+ @5 w9 B" g3 M7 z 答案:____________0 l4 ]1 X, R- H! Y: e% t J, ~, F* Y
5 j7 [+ @- @0 r7 X( ^
5 `9 `& _6 P9 J4 z0 h* Z
18.全等运算符===如何比较两个值? 9 ~5 ~6 y/ b( U3 D' P4 m& [0 Q 4 R. |- a/ C) NA.把它们转换成相同的数据类型再比较转换后的值/ m2 \! H ^6 a0 X
B.只在两者的数据类型和值都相同时才返回True % b/ @0 ~. }2 O9 i c# \C.如果两个值是字符串,则进行词汇比较5 w/ N+ o: B: P4 O$ Q
D.基于strcmp函数进行比较 ( I' `7 L6 H9 N6 S" M* N0 c3 CE.把两个值都转换成字符串再比较+ p A% b- q/ Z4 S8 n" F
9 X" t+ B/ t2 @: P, i0 N 6 ?) [: n, T7 G6 U0 n% M3 N- g19.以下哪个选项是把整型变量$a的值乘以4?(双选)! i1 ]) J/ Z6 U) Y; G) k
! m* i+ N1 ]9 ?0 v. zA.$a *= pow (2, 2); % h. e4 Q- N9 c& N* VB.$a >>= 2; " t* s) C( n V' b" V! ?C.$a <<= 2;; h) T& a7 w- `. N
D.$a += $a + $a; ; l* W" o( V; x& dE.一个都不对 8 ?7 u& H2 [1 |: T* U- v" w) I, A% i% Y( K1 l4 K
+ G- {+ C2 G ]0 c
20.一段脚本如何才算彻底终止?7 Y) @$ l) E3 x1 @, ~3 T k& ?' P7 L
6 G9 G: X7 J6 \A.当调用exit()时 0 A0 h$ n& r% K) ~& O, p8 DB.当执行到文件结尾时 8 x5 p! s3 W4 [/ s% `C.当PHP崩溃时4 z* u: u7 {$ F( C) R& g
D.当Apache由于系统故障而终止时5 F7 n- K: h, L# G, H
( J# T( z5 Q$ z" l2 `3 o, S$ w& c. v3 q. P# ?; o# ?' Z5 N
答案速查 $ j8 m4 |5 M% m' |7 q0 b9 ^1.B" B* y/ U( s2 r4 \# m6 }
2.D, S5 P3 `' H) f7 B+ n7 J k- M' Y
3.D ; ?7 w D" d6 Q4.A 3 y# p$ Z4 [, s5.A f- A' B/ ]. v" a2 n" r% P3 x
6.D5 C8 y! R2 _9 F+ @
7.D- v* A* @, x8 k S. A. k$ K
8.C, ^* U& r3 c8 s8 e
9.E/ ~1 u& X+ e$ O6 D0 Y2 w5 R' ^
10.A* V4 f! h5 x* Q* w' U
11.C . J& a5 R8 a) \5 E+ T12.A : S- U( R, H9 q8 J* l! J5 O$ p13.B 5 O! `: |& x3 x; m/ ~3 a14.D: P; A/ V' U8 b0 K) i
15.E ' Q! k d0 p1 e1 B& F* H: |16.C$ R7 e% E* R6 Q9 q. V2 d
17.xor" o- w7 P8 E6 d; ]* Y7 `! w
18.B4 Q( M7 h( P: `3 b
19.AC* n* s+ x& g# l, s$ g$ b
20.A$ ?' o2 l' `3 F8 {. n
3 X& A" |+ o V' [ 6 B$ U7 Z1 t- f( e答案详解 9 k3 U, i% `( D; o$ b8 r1 c4 x : |6 I9 i9 v% y6 p7 m1.唯一有意义的答案是B。PHP是一种基于Zend引擎的脚本语言,它通常被嵌入在HTML代码中。它主要被用来开发HTML文档,但是也可以用它来开发其他类型的文档,比如XML。( @2 f9 J4 M- j( O( |- e
9 o# E, D3 Q' _& p
2.PHP编程中,人们不太使用<% %>和<? ?>两个标签,但它们确实是合法的PHP界定符。<! !>标签是非法的,因此正确的答案是D。记住,根据php.ini文件中的配置不同,这当中的某些标签无法在特定的情况下使用。8 r! h6 P" n8 Z2 j
0 y, G5 F1 Z. { d0 G, a3.PHP变量以一个美元符号为开头,后面跟上任意数量的数字、字母和下划线。${“MyVar”}是一个合法的变量名,它使用的是较松散的命名约定。&$something是对$something的引用。然而,变量名不能以数字为开头,$10_somethings是非法的,因此答案是D。5 e6 `+ A. k" q' U3 _/ c
* W: t+ v) Y" k" |9 u4 V
4.注意,$myarray的键值并没有打上引号。所以,正在访问的键不是myvalue字符串,而是常量myvalue的值。最终访问的是$myarray[10],值是Dog,答案是A。& E7 `9 J# f' R: u# j2 l$ g