- 相关推荐
PHP考试考前辅导
读书破万卷,下笔如有神。以下是小编为大家搜索整理的PHP考试考前辅导,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!
一、 单项选择(40分)
1、PHP 是一种______脚本语言,基于______引擎。PHP 最常被用来开发动态的______内 容,此外,它同样还可被用来生成______(以及其他)文档。
A.动态,PHP,数据库,HTML
B.嵌入式,Zend,HTML,XML
C.基于 Perl 的,PHP,Web,静态
D.基于 Zend 的,PHP,图像,HTML
2、以下代码哪个不符合 PHP 语法?
A.$_10
B.${“MyVar”}
C.&$something
D.$10_somethings E.$aVaR
3、以下哪种标签不是 PHP 起始/结束符?
A.
B.//
C.
D./* */
4、要比较两个字符串,以下那种方法最万能?
A.用 strpos 函数
B.用==操作符
C.用 strcasecmp()
D.用 strcmp()
运行时(run-time)包含一个 PHP 脚本使用______,而编译时(compile-time)包含一 个 PHP 脚本使用______。
A.include_once, include
B.require, include
C.require_once, include
D.以上皆可
5、print()和 echo()有什么区别? A
A.print()能作为表达式的一部分,echo()不能
B.echo()能作为表达式的一部分,print()不能
C.echo()能在 CLI(命令行)版本的 PHP 中使用,print()不能
D.print()能在 CLI(命令行)版本的 PHP 中使用,echo()不能
6、如果用+操作符把一个字符串和一个整型数字相加,结果将怎样?
A.解释器输出一个类型错误
B.字符串将被转换成数字,再与整型数字相加
C.字符串将被丢弃,只保留整型数字
D.字符串和整型数字将连接成一个新字符串
7、运行以下代码将显示什么?
define(myvalue, "10");
$myarray[10] = "Dog";
$myarray[] = "Human";
$myarray['myvalue'] = "Cat";
$myarray["Dog"] = "Cat";
(window.cproArray = window.cproArray || []).push({ id: "u2280119" });
print "The value is: ";
print $myarray[myvalue]."\n";
?>
2
A.The Value is: Dog
B.The Value is: Cat
C.The Value is: Human
D.The Value is: 10
8、以下脚本输出什么?d
$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
什么情况下声明函数时不能给参数赋默认值?
A.当参数是布尔值时
B.当函数是类中的成员时
C.当参数是通过引用传递时
D.当函数只有一个参数时
9、以下哪种方法能保证锁在任何竞争情况下都安全?
A.用flock()锁住指定文件
B.用fopen()在系统的临时文件夹里打开文件
C.用tempnam()创建一个临时文件
D.用mkdir()创建一个文件夹来当
10、stat()和fstat()有什么区别?
A.stat()基于文件指针工作,fstat()基于路径工作
B.fstat()基于文件指针工作,stat()基于路径工作
C.fstat()不能处理文件
D.stat()不能处理文件
11、考虑如下脚本。运行时,尽管文件test.txt已经被用unlink()函数删除,脚本仍然输出1,1。
在脚本的最后添加什么函数才能解决这个问题?
$f = fopen ("test.txt", "w");
fwrite ($f, "test");
fclose ($f);
echo (int) file_exists("test.txt") . ', ';
unlink ("c:\\test.txt");
echo (int) file_exists ("test.txt");
?>
A.clearstatcache()
B.fflush()
C.ob_flush()
D.touch()
12、如何给变量$a,$b 和$c 赋值才能使以下脚本显示字符串“Hello, World!”?
$string = "Hello, World!";
$a = ?;
3
$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
13、什么情况下声明函数时不能给参数赋默认值?
A.当参数是布尔值时
B.当函数是类中的成员时
C.当参数是通过引用传递时
D.当函数只有一个参数时
14、运行以下代码将显示什么值?假设代码运行时的 URL 是:testscript.php?c=25
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
15、一段脚本如何才算彻底终止?
A.当调用 exit()时
B.当执行到文件结尾时
C.当 PHP 崩溃时
D.当 Apache 由于系统故障而终止时
16、以下脚本输出什么?
$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 不是数组
17、要修改每个元素的值,如何遍历$myarray 数组最合适?
$myarray = array ("My String","Another String","Hi, Mom!"); ?>
A.用 for 循环
B.用 foreach 循环
C.用 while 循环
D.用 do?while 循环
18、考虑如下代码片段: define("STOP_AT", 1024); $result = array();
/* 在此处填入代码 */
{
5
$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)
18、函数delete是做什么的?
A.删除文件
B.删除文件夹
C.释放变量
D.没有这个函数!
19、以下哪个选项准确的描述出了方框中的脚本的作用?
echo number_format (disk_free_space ('c:\\') /
disk_total_space('c:\\') * 100, 2) . '%';
?>
A.计算Windows系统C盘的剩余磁盘空间大小
B.输出一个表示C盘剩余空间所占比例的两位小数
C.输出C盘剩余容量的byte数
D.计算C盘总容量与剩余空间的比率
20、stat()和fstat()有什么区别?
A.stat()基于文件指针工作,fstat()基于路径工作
B.fstat()基于文件指针工作,stat()基于路径工作
C.fstat()不能处理文件
D.stat()不能处理文件
21、要修改每个元素的值,如何遍历$myarray 数组最合适?
$myarray = array ("My String","Another String","Hi, Mom!"); ?>
A.用 for 循环
B.用 foreach 循环
C.用 while 循环
D.用 do?while 循环
22、.以下代码哪个不符合PHP 语法?
A. $_10
B. ${“MyVar”}
C. &$something
D. $10_somethings
23、PHP 的位运算符不包括( )。
A.& B. | C. ~ D. !
24、要配置 Apache 的 PHP 环境,只需修改( )。
A. php.ini
B. http.conf
C. php.sys
D. php.exe
25、PHP 中定义常量的方法是( )。
A. VAR
B. dim
C. define()
D. undefined()
26、运行以下代码将显示什么?
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
27、以下脚本输出什么?
$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. 49 个字母? G?组成的字符串
28、考虑如下代码片段:
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)
29、考虑如下一段代码,执行时, $eight_tenths->to_string 方法返回的字符串是8/10 而不 是希望的4/5,为什么?
class fraction {
var $numerator;`
var $denominator;
function fraction($n, $d) {
$this->set_numerator($n);
$this->set_denominator($d);
}
function set_numerator($num) {
$this->numerator = (int)$num;
}
function set_denominator($num) {
$this->denominator = (int)$num;
}
function to_string() {
return "{$this->numerator} / {$this->denominator}";
}
}
function gcd($a, $b) {
return ($b > 0) ? gcd($b, $a % $b) : $a;
}
function reduce_fraction($fraction) {
$gcd = gcd($fraction->numerator,
$fraction->denominator);
$fraction->numerator /= $gcd;
$fraction->denominator /= $gcd;
}
$eight_tenths = new fraction(8,10);
/* Reduce the fraction */
reduce_fraction($eight_tenths);
var_dump($eight_tenths->to_string());
?>
A. reduce_fraction 函数必须返回一个值
B. reduce_fraction 函数必须接受一个整型值
C. gcd 函数有问题 2322222221 `q` `
D.必须通过引用的方式传递$eight_tenths 对象
30、在 str_replace(1,2,3)函数中 1 2 3 所代表的名称是( )。
A. "取代字符串","被取代字符串","来源字符串"
B. "被取代字符串", "取代字符串","来源字符串"
C. "来源字符串", "取代字符串","被取代字符串"
D. "来源字符串","被取代字符串", "取代字符串"
31、下面程序运行的结果为( )。
$a=array("a","b","c","d");
$index=array_search("a",$a);
if($index==false)
echo"在数组 a 中未发现字符'a'";
else echo "index=".$index;
A. 在数组 a 中未发现字符’ a’
B. 0
C. 1
D. 2
31、以下代码能正确在浏览器中显示图片的是:( )
A.
$img = imagecreatefromjpeg(“images/scce.jpg”)
imagejpeg($img);
imagedestroy($img);
?>
B.
header(“content-type:image/jpeg”);
$img = imagecreatefromjpeg(“images/scce.jpg”)
imagejpeg($img);
imagedestroy($img);
?>
C.
header(“content-type:image/jpeg”);
$img = imagecreatefromfile (“images/scce.jpg”)
imageout($img);
imagedestroy($img);
?>
D.
header(“content-type:image/jpeg”);
$img = imageopen(“images/scce.jpg”)
imagejpeg($img);
imagedestroy($img);
?>
32、哪种方法用来计算数组所有元素的总和最简便?
A.用for 循环遍历数组
B.用foreach 循环遍历数组
C.用array_intersect 函数
D.用array_sum 函数
33、在不考虑实际用途的前提下,把数组直接传给一个只读函数比通过引用传递的复杂度 低?
A.是的,因为在把它传递给函数时,解释器需要复制这个数组
B.是的,如果函数修改数组的内容的话
C.是的,如果这个数组很大的话
D.是的,因为PHP 需要监视函数的输出,已确定数组是否被改变
34、给定一个用逗号分隔一组值的字符串,以下哪个函数能在仅调用一次的情况下就把每 个独立的值放入一个新创建的数组?
A. strstr()
B.不可能只调用一次就完成
C. extract()
D. explode()
35、如果用+操作符把一个字符串和一个整型数字相加,结果将怎样?
A.解释器输出一个类型错误
B.字符串将被转换成数字,再与整型数字相加
C.字符串将被丢弃,只保留整型数字
D.字符串和整型数字将连接成一个新字符串
36、以下哪种方法能保证锁在任何竞争情况下都安全?
A.用flock()锁住指定文件
B.用fopen()在系统的临时文件夹里打开文件
C.用tempnam()创建一个临时文件
D.用mkdir()创建一个文件夹来当
37、GMT 时区下的时间戳与你所在时区下的时间戳的秒数差距有多大?
A.取决于你所在时区与GMT 时区的时间差
B.没有差别
C.只当你也在GMT 时区时才会相同
D.永远不会相同
38、如何将一个数组作为附件发送,并要能在接收后重新组合?
A.用serialize()把它转换成字符串,再用htmlentities()处理一下
B.把它存在文件中,并用base64_encode()进行编码
C.用serialize()把它转换成数组
D.用serialize()把它转换成数组,再用base64_encode()进行编码
39、返回上一个 MYSQL 操作中的错误信息的数字编码使用的函数是( )。
A.mysql_error();
B.Mysql_close();
C.Mysql_errno();
D.Mysql_connect();
40、在 PHP 函数中,属于选择数据库函数的是( )。
A.mysql_fetch_row
B. mysql_fetch_object
C. mysql_result
D. mysql_select_db
多选
1、以下哪个选项是把整型变量$a 的值乘以4?
A. $a *= pow (2, 2);
B. $a >>= 2;
C. $a <<= 2;
D. $a += $a + $a;
E.一个都不对
2、以下脚本将如何影响$s 字符串?
$s = '
Hello
';
$ss = htmlentities ($s);
echo $s;
?>
A.尖括号<>会被转换成HTML 标记,因此字符串将变长
B.没有变化
C.在浏览器上打印该字符串时,尖括号是可见的
D.在浏览器上打印该字符串时,尖括号及其内容将被识别为HTML 标签,因此不可 见
E.由于调用了htmlentities(),字符串会被销毁
3、基于指定的式样( pattern)把一个字符串分隔开并放入数组,以下哪些函数能做到?
A. preg_split()
B. ereg()
C. str_split()
D. explode()
E. chop()
4、以下哪些函数能读取文件的全部内容?
A. fgets()
B. file_get_contents()
C. fread()
D. readfile()
E. file()
5、处理数据库中读取的日期数据时,以下那种方法有助于避免 bug?
A.确保日期数据与服务器使用相同的时区
B.如果日期需要被转换成UNIX 时间戳进行操作,要确保结果不会溢出
C.用数据库功能测试日期的合法性
D.如果可能,用数据库功能计算日期的值
E.用代码控制日期只能在PHP 中进行处理
6、考虑如下 SQL 语句。哪个选项能对返回记录的条数进行限制?
SELECT * FROM MY_TABLE
A.如果可能,用把查询转换成存储例程
B.如果程序允许,给查询指定返回记录的范围
C.如果可能,添加where 条件
D.如果DBMS 允许,把查询转换成视图
E.如果DBMS 允许,使用事先准备好的语句
7、考虑如下脚本。假设mysql_query 函数将一个未过滤的查询语句送入一个已经打开的 数据库连接,以下哪个选项是对的?
$r = mysql_query ('DELETE FROM MYTABLE WHERE ID=' . $_GET['ID']);
?>
72
A. MYTABLE 表中的记录超过1 条
B.用户输入的数据需要经过适当的转义和过滤
C.调用该函数将产生一个包含了其他记录条数的记录
D.给URL 传递ID=0+OR+1 将导致MYTABLE 中的所有表被删除
E.查询语句中应该包含数据库名
8、有一个脚本由于要从远程获取数据,因而运行速度很慢,以下那种方法能对其进行优 化?
A.安装操作码缓存( opcode cache)
B.优化或者升级你的网络连接
C.添置更多的硬件
D.增加服务器的可用RAM
E.使用连接缓存
9、改变输出MYSQL中文乱码的SQL语句是( )。
A.SET NAMES GB2312
B.SET NAMES UTF8
C.SET NAMES UTF-8
D.SET NAMES "GB2312"
10、你在向某台特定的电脑中写入带有效期的cookie 时总是会失败,而这在其他电脑上都 正常。在检查了客户端操作系统传回的时间后,你发现这台电脑上的时间和web 服务 器上的时间基本相同。而且这台电脑在访问大部分其他网站时都没有问题。请问这会 是什么原因导致的?(双选)
A.浏览器的程序出问题了
B.客户端的时区设置不正确
C.用户的杀毒软件阻止了所有安全的cookie
D.浏览器被设置为阻止任何cookie
E. cookie 里使用了非法的字符
【PHP考试考前辅导】相关文章:
PHP考前模拟练习02-17
英语考试阅读理解考前辅导题及答案06-26
PHP考试题10-08
2016年司法考试考前突破阶段心理辅导08-13
2017年商务英语考试中级考前辅导训练题10-21
2017年房地产经纪人考试考前辅导08-13
2017年雅思阅读考前辅导试题07-14
雅思考前辅导阅读练习材料07-17