PHP基础题

php

2008-12-14 17:47

2008-03-04 09:16

1.    选择合适的答案填入空白处

PHP是一种______脚本语言,基于______引擎。PHP最常被用来开发动态的______内容,此外,它同样还可被用来生成______(以及其他)文档。

A.动态,PHP,数据库,HTML
B.嵌入式,Zend,HTML,XML
C.基于Perl的,PHP,Web,静态
D.嵌入式,Zend,Docbook文档,MySQL
E.基于Zend的,PHP,图像,HTML


2.以下哪种标签不是PHP起始/结束符?

A.<% %>
B.<? ?>
C.<?= ?>
D.<! !>
E.<?php ?>


3.以下代码哪个不符合PHP语法?

A.$_10
B.${“MyVar”}
C.&$something
D.$10_somethings
E.$aVaR


4.运行以下代码将显示什么?


<?php
define(myvalue, "10");
$myarray[10] = "Dog";
$myarray[] = "Human";
$myarray['myvalue'] = "Cat";
$myarray["Dog"] = "Cat";
print "The value is: ";
print $myarray[myvalue]."\n";
?>


A.The Value is: Dog
B.The Value is: Cat
C.The Value is: Human
D.The Value is: 10
E.Dog


5. print()和echo()有什么区别?

A.print()能作为表达式的一部分,echo()不能
B.echo()能作为表达式的一部分,print()不能
C.echo()能在CLI(命令行)版本的PHP中使用,print()不能
D.print()能在CLI(命令行)版本的PHP中使用,echo()不能
E.没有区别:两个函数都打印文本!


6.以下脚本输出什么?


<?php
$a = 10;
$b = 20;
$c = 4;
$d = 8;
$e = 1.0;
$f = $c + $d * 2;
$g = $f % 20;
$h = $b - $a + $c + 2;
$i = $h << $c;
$j = $i * $e;
print $j;
?>


A.128
B.42
C.242.0
D.256
E.342

7.如何给变量$a,$b和$c赋值才能使以下脚本显示字符串“Hello, World!”?


<?php
$string = "Hello, World!";
$a = ?;
$b = ?;
$c = ?;
if($a) {
        if($b && !$c) {
        echo "Goodbye Cruel World!";
        } else if(!$b && !$c) {
        echo "Nothing here";
        }
}
else {
    if(!$b) {
        if(!$a && (!$b && $c)) {
            echo "Hello, World!";
        } else {
            echo "Goodbye World!";
        }
        } else {
            echo "Not quite.";
        }
}
?>


A.False, True, False
B.True, True, False
C.False, True, True
D.False, False, True
E.True, True, True


8.以下脚本输出什么?


<?php
$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’组成的字符串


9.哪种语句结构用来表现以下条件判断最合适?


<?php
if($a == 'a') {
        somefunction();
} else if ($a == 'b') {
        anotherfunction();
} else if ($a == 'c') {
        dosomething();
} else {
        donothing();
}
?>


A.没有default的switch语句
B.一个递归函数
C.while语句
D.无法用别的形式表现该逻辑
E.有default的switch语句


10.要修改每个元素的值,如何遍历$myarray数组最合适?


<?php
$myarray = array ("My String","Another String","Hi, Mom!");
?>


A.用for循环
B.用foreach循环
C.用while循环
D.用do…while循环
E.办不到!


11.考虑如下代码片段:


<?php
define("STOP_AT", 1024);
$result = array();
/* 在此处填入代码 */
{
        $result[] = $idx;
}
print_r($result);
?>


标记处填入什么代码才能产生如下数组输出?

Array
{
[0] => 1
[1] => 2
[2] => 4
[3] => 8
[4] => 16
[5] => 32
[6] => 64
[7] => 128
[8] => 256
[9] => 512
}

A.foreach($result as $key => $val)
B.while($idx *= 2)
C.for($idx = 1; $idx < STOP_AT; $idx *= 2)
D.for($idx *= 2; STOP_AT >= $idx; $idx = 0)
E.while($idx < STOP_AT) do $idx *= 2


12.为用户定义函数is_leap()选择一个合适的函数声明。is_leap使用2000作为默认年份。


<?php
/* 函数声明处 */
{
        $is_leap = (!($year %4) && (($year % 100) ||
        !($year % 400)));
        return $is_leap;
}
var_dump(is_leap(1987)); /* Displays false */
var_dump(is_leap()); /* Displays true */
?>


A.function is_leap($year = 2000)
B.is_leap($year default 2000)
C.function is_leap($year default 2000)
D.function is_leap($year)
E.function is_leap(2000 = $year)


13.运行以下代码将显示什么值?假设代码运行时的URL是:testscript.php?c=25


<?php
function process($c, $d = 25)
{
        global $e;
        $retval = $c + $d - $_GET['c'] - $e;
        return $retval;
}
$e = 10;
echo process(5);
?>


A.25
B.-5
C.10
D.5
E.0


14.考虑如下代码:


<?php
function myfunction($a, $b = true)
{
        if($a && !$b) {
            echo "Hello, World!\n";
        }
}
$s = array(0 => "my",
1 => "call",
2 => '$function',
3 => ' ',
4 => "function",
5 => '$a',
6 => '$b',
7 => 'a',
8 => 'b',
9 => '');
$a = true;
$b = false;
/* Group A */
$name = $s[?].$s[?].$s[?].$s[?].$s[?].$s[?];
/* Group B */
$name(${$s[?]}, ${$s[?]});
?>


脚本中的每个问号(?)代表$s数组的一个数字索引。要想代码执行时显示Hello, World!字符串,该如何选择数字索引?
A.Group A: 4,3,0,4,9,9 Group B: 7,8
B.Group A: 1,3,0,4,9,9 Group B: 7,6
C.Group A: 1,3,2,3,0,4 Group B: 5,8
D.Group A: 0,4,9,9,9,9 Group B: 7,8
E.Group A: 4,3,0,4,9,9 Group B: 7,8


15.运行时(run-time)包含一个PHP脚本使用______,而编译时(compile-time)包含一个PHP脚本使用______。

A.include_once, include
B.require, include
C.require_once, include
D.include, require
E.以上皆可


16.什么情况下声明函数时不能给参数赋默认值?(C)

A.当参数是布尔值时
B.当函数是类中的成员时
C.当参数是通过引用传递时
D.当函数只有一个参数时
E.永远不会


17.______操作符在两个操作数中有一个(不是全部)为True时返回True。

    答案:____________


18.全等运算符===如何比较两个值?

A.把它们转换成相同的数据类型再比较转换后的值
B.只在两者的数据类型和值都相同时才返回True
C.如果两个值是字符串,则进行词汇比较
D.基于strcmp函数进行比较
E.把两个值都转换成字符串再比较


19.以下哪个选项是把整型变量$a的值乘以4?(双选)

A.$a *= pow (2, 2);
B.$a >>= 2;
C.$a <<= 2;
D.$a += $a + $a;
E.一个都不对


20.一段脚本如何才算彻底终止?

A.当调用exit()时
B.当执行到文件结尾时
C.当PHP崩溃时
D.当Apache由于系统故障而终止时


答案速查
1.B
2.D
3.D
4.A
5.A
6.D
7.D
8.C
9.E
10.A
11.C
12.A
13.B
14.D
15.E
16.C
17.xor
18.B
19.AC
20.A