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. 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考试考前辅导】相关文章: