条件式的逻辑,要想得到 Hello, World!字符串,必须要在第一个 if 结构中满足 else 的条件。因此$a 必须为 False,然后$b 也必须为 False。最内层的条件语句的实现要求 先前的两个变量($a 和$b)是 False,而$c 必须是 True(答案是 D)。 8. 正确答案是 C。从 PHP4.2.0 开始,除非已经给定了一个伪随机整数列,否则不再需要 用 srand()函数初始化随机数生成器。此外,即使随机数生成器没有被事先播种,脚本 仍然会生成 49 个伪随机字符。尽管$array 变量是字符串,但可以用访问数组的方式进 行访问——使用数字索引访问某个位置上的字符。最后,for 循环将从 1 开始执行到 50, 也就是执行了 49 次。 9. 用一系列的 if…else 语句来检查一个条件的代码块,最适合用 switch 语句来替代。 switch($a) { case 'a': somefunction(); break; case 'b': 10
anotherfunction(); break; case 'c': dosomething(); break; default: donothing(); } ?> 因为 if 语句
中有一个捕捉所有其他条件的 else,对应的,switch 代码块需要一个 default。 正确答案是 E。 10.通常情况下,foreach 语句是遍历数组的首选。但是,由于 foreach 语句是在数组的副 本上进行操作,而我们需要给数组中每个元素重新赋值,所以在这里 foreach 就不适用 了。尽管也可以用 while 循环和 do…while 循环,但由于数组是顺序索引的,最合适的 语句还是 for 语句。因此答案是 A。 $myarray = array ("My String", "Another String", "Hi, Mom!"); for($i = 0; $i < count($myarray); $i++) { $myarray[$i] .= " ($i)"; } ?> 11.由于题目只允许填写一行代码,唯一合适的是 for 循环,因此答案只能是 C 或者 D。 要选出能生成正确结果的 for 循环,我们必须先复习一下 for 循环的构成要素。PHP 中, for 循环是这样声明的: for(<初始化>;<继续执行,直到>;<重复执行>) <初始化>在循环开始时执行一次,然后 for 循环开始执行大括号内的代码,直到<继续 执行,直到>的值为 False。每完成一次循环,执行一次<重复执行>。因此,正确的代 码块应该是: for ($idx = 1; $idx < STOP_AT; $idx *= 2) 答案是 C。 12.5 个选项中,只有两个是合法的 PHP 函数声明(A 和 D)。在这两个选项中,只有一 个设置了参数的默认值——答案是 A。 13.本题考察 PHP 中变量作用域的相关知识。你必须明确 global 关键字是如何将变量引入 本地域的,以及$_GET、$_POST、$_COOKIE、$_REQUEST 等超级全局变量的作用 域。本题中,最终的数学表达式是 5+25-25-10,等于-5,答案是 B。 14.函数能被以一个包含着函数名的变量后面加上括号(以及必要的参数)的形式动态 11 调用。对于 Group A 来说,合适的索引组合是 0,4,9,9,9,9,产生字符串 myfunction。 另一方面,参数将使用${}结构的可变变量。对 Group B 来说,合适的索引应该是 7 和 8,等于${‘a’}$和{‘b’}——即$a 和$b。因此答案是 D。 15.在较新版本的 PHP 中,require(或 requier_once())和 include()(或 include_once())只有
一个区别——如果包含的文件不存在,前者将产生一个致命错误,同时终止脚