PHP试题
生命力顽强的种子,从不对瘠土唱诅咒的歌。以下是小编为大家搜索整理了PHP试题,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!
一、选择题
1. 如何访问会话变量(session)?(E)
A.通过$_GET
B.通过$_POST
C.通过$_REQUEST
D.通过全局变量
E.以上都不对
2. 在忽略浏览器 bug 的正常情况下,如何用一个与先前设置的域名(domain)不同的新(B) 域名来访问某个 cookie?
A.通过 HTTP_REMOTE_COOKIE 访问
B.不可能
C.在调用 setcookie()时设置一个不同的域名
D.向浏览器发送额外的请求
E.使用 Javascript,把 cookie 包含在 URL 中发送
3. 如果不给 cookie 设置过期时间会怎么样?(D)
A.立刻过期
B.永不过期
ie 无法设置
D.在浏览器会话结束时过期
E.只在脚本没有产生服务器端 session 的情况下过期
4. 思考如下代码:如果用户在两个文本域中分别输入“php”和“great”,脚本输出什么?(A) echo $_GET['element'];
?>
A.什么都没有
y
C.一个提示
reat
tphp
5. 在 HTTPS 下,URL 和查询字串(query string)是如何从浏览器传到 Web 服务器上的?
(B)
A.这两个是明文传输,之后的信息加密传输
B.加密传输
明文传输,查询字串加密传输
加密传输,查询字串明文传输
E.为确保加密,查询字串将转换为 header,夹在 POST 信息中传输
6. 当把一个有两个同名元素的表单提交给 PHP 脚本时会发生什么?(C)
A.它们组成一个数组,存储在超级全局变量数组中
B.第二个元素的值加上第一个元素的值后,存储在超级全局变量数组中
C.第二个元素将覆盖第一个元素
D.第二个元素将自动被重命名
输出一个警告
7.如何把数组存储在 cookie 里?(B)
A.给 cookie 名添加一对方括号[]
B.使用 implode 函数
C.不可能,因为有容量限制
D.使用 serialize 函数
E.给 cookie 名添加 ARRAY 关键词
8.以下脚本输出什么?(E)
ob_start();
for ($i = 0; $i < 10; $i++) {
echo $i;
}
$output = ob_get_contents();
ob_end_clean();
echo $ouput;
?>
A.12345678910
B.1234567890
C.0123456789
D.什么都没有
E.一个提示
9.默认情况下,PHP 把会话(session)数据存储在______里。(A)
A.文件系统
B.数据库
C.虚拟内容
D.共享内存
E.以上都不是
10.假设浏览器没有重启,那么在最后一次访问后的多久,会话(session)才会过期并被 回收?(B)
A.1440 秒后
B.在 _maxlifetime 设置的时间过了后
C.除非手动删除,否则永不过期
D.除非浏览器重启,否则永不过期
E.以上都不对
11. 索引数组的键是______,关联数组的键是______。(E)
A.浮点,字符串
B.正数,负数
C.偶数,字符串
D.字符串,布尔值
E.整型,字符串
12. 考虑如下数组,怎样才能从数组$multi_array 中找出值 cat?
$multi_array = array("red",
"green",
42 => “blue”,
“yellow” => array(“apple”,9 => “pear”,”banana”,
“orange” => array(“dog”,”cat”,”iguana”)));
?> (E)
A.$multi_array['yellow']['apple'][0]
B.$multi_array['blue'][0]['orange'][1]
C.$multi_array[3][3][2]
D.$multi_array['yellow']['orange']['cat']
E.$multi_array['yellow']['orange'][1]
13. 运行以下脚本后,数组$array 的内容是什么?(B)
$array = array ('1', '1');
foreach ($array as $k => $v) {
$v = 2;
}
?>
y (’2′, ’2′)
y (’1′, ’1′)
y (2, 2)
y (Null, Null)
y (1, 1)
14.对数组进行升序排序并保留索引关系,应该用哪个函数?(B)
t()
t()
rt()
()
t()
15. 以下脚本将按什么顺序输出数组$array 内的元素?(A)
$array = array ('a1', 'a3', 'a5', 'a10', 'a20');
natsort ($array);
var_dump ($array);
?>
A.a1, a3, a5, a10, a20
B.a1, a20, a3, a5, a10
C.a10, a1, a20, a3, a5
D.a1, a10, a5, a20, a3
E.a1, a10, a20, a3, a5
16. 以下脚本输出什么?(D)
$array = array ('3' => ‘a’, ’1b’ => ‘b’, ‘c’, ‘d’);
echo ($array[1]);
?>
A.1
B.b
C.c
D.一个警告
E.a
17.哪种方法用来计算数组所有元素的总和最简便?(D)
A.用 for 循环遍历数组
B.用 foreach 循环遍历数组
C.用 array_intersect 函数
D.用 array_sum 函数
E.用 array_count_values()
18.以下脚本输出什么?(A)
$array = array (0.1 => ‘a’, 0.2 => ‘b’);
echo count ($array);
?>
A.1
B.2
C.0
D.什么都没有
E.0.3
19. 以下脚本输出什么?(E)
$array = array (true => ‘a’, 1 => ‘b’);
var_dump ($aray);
?>
A.1 => ‘b’
=> ‘a’, 1 => ‘b’
C.0 => ‘a’, 1 => ‘b’
D.什么都没有
E.输出 NULL
20.在不考虑实际用途的前提下,把数组直接传给一个只读函数比通过引用传递的复杂度 低?(E)
A.是的,因为在把它传递给函数时,解释器需要复制这个数组
B.是的,如果函数修改数组的内容的话
C.是的,如果这个数组很大的话
D.是的,因为 PHP 需要监视函数的输出,已确定数组是否被改变
E.不是
21. 以下脚本输出什么?(E)
function sort_my_array ($array)
{
return sort ($array);
}
$a1 = array (3, 2, 1);
var_dump (sort_my_array (&$a1));
?>
B.0 => 1, 1 => 2, 2 => 3
C.一个引用错误
D.2 => 1, 1 => 2, 0 => 3
(true)
22.以下哪种标签不是PHP起始/结束符?(D)
A.B.C.D.
E.
23.以下代码哪个不符合PHP语法?(D)
A.$_10B.$,“MyVar”-C.&$somethingD.$10_somethingsE.$aVaR 表达式$foo=1+"bob3",则$foo的值是(A)。 A. 1 B. 1bob3 C. 1b D.92
的位运算符不包括(D )。
A.& B. | C. ~ D. !
25.关于PHP变量的说法正确的是(D )。A. PHP是一种强类型语言
B. PHP变量声明时需要指定其变量的类型
C. PHP变量声明时在变量名前面使用的字符是”&”
D. PHP变量使用时,上下文会自动确定其变量的类型 26.假设$a=5,有$a+=2,则$a的值为( C)。A.5 B.6
C.7 D. 8
27.在PHP中属于比较运算符的是(C )。
A. = B.! C.= = D. &
28.要配置Apache的PHP环境,只需修改(B )。
D.
29.下列命令中不是PHP的输出命令的是(D )。
echo tf() C. print D. write
中定义常量的方法是(C )。
A. VAR C. define() fined()
31.有下列PHP语句段,
?>
若要输出"false",$a应该是(D )。
A. 10 B.–3 C. TRUE D .0
32.已知$g=14,则PHP表达式$h=$g+=10,运算后的结果是(A )。
A. $h=$g=24 B.$h=10,$g=24 C.$h=10.$g=14 D.$h=24,$g=10
33.运行以下代码将显示什么?(A)
$myarray[10] = "Dog";
$myarray[] = "Human";
$myarray['myvalue'] = "Cat";
$myarray["Dog"] = "Cat";print "Thevalueis:";
print $myarray[myvalue]."n"; ?>
alueis:alueis:alueis:alueis: t()和echo()有什么区别?(A)
t()能作为表达式的一部分,echo()不能
()能作为表达式的一部分,print()不能
()能在CLI(命令行)版本的PHP中使用,print()不能
t()能在CLI(命令行)版本的PHP中使用,echo()不能
E.没有区别:两个函数都打印文本!
35.如何给变量$a,$b和$c赋值才能使以下脚本显示字符串“Hello, World!”?(D)
$string = "Hello,World!";
$a =?;
$b =?;
$c =?; if($a) {
if($b&& !$c) {
echo "Goodbye Cruel World!";
} else if(!$b&& !$c) {echo "Nothinghere";
}
}else {
if(!$b) { if(!$a&& (!$b&& $c)) {echo "Hello,World!";
} else {
echo "GoodbyeWorld!";
}
} else {
echo "Not quite.";
}
}
?> e, True, ,True, e, True, e,False, ,True,True
36.以下脚本输出什么(C)
$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’组成的字符串
37.哪种语句结构用来表现以下条件判断最合适?(E)
if($a == 'a'){somefunction();
} else if ($a=='b'){anotherfunction();
} else if ($a=='c'){dosomething();
} else {
donothing();
}
?>
A.没有default的switch语句
B.一个递归函数e语句
D.无法用别的形式表现该逻辑E.有default的switch
38.考虑如下代码片段:
define("STOP_AT",1024);
$result = array();
/*在此处填入代码*/
{
$result[] = $idx;
}
print_r($result);
?>
标记处填入什么代码才能产生如下数组输出?(C)
Array
{
[0] =>1
[1] =>2
[2] =>4
[3] =>8
[4] =>16
[5] =>32
[6] =>64
[7] =>128
[8] =>256
[9] =>512
}
ach($result as $key=>$val) e($idx*= 2)
($idx=1;$idx
($idx*= 2; STOP_AT>=$idx; $idx= 0)e($idx
/*函数声明处*/
{
$is_leap = (!($year %4) && (($year %100) ||
!($year % 400)));return$is_leap;
}
var_dump(is_leap(1987)); /* Displaysfalse*/var_dump(is_leap()); /*Displaystrue*/ ?>
tionis_leap($year= 2000)
_leap($year default 2000)tionis_leap($year default 2000)
tionis_leap($year)
tionis_leap(2000 =$year)
40.运行以下代码将显示什么值?假设代码运行时的URL是:(B)
functionprocess($c,$d= 25){global $e;
$retval = $c + $d -$_GET['c']-$e;return$retval;
}
$e =10;
echo process(5);
?>A.25
B.-5C.10
D.5E.0
41.运行时(run-time)包含一个PHP脚本使用,而编译时(compile-time)包含一个PHP脚本使用 。(E)
ude_once,include
ire,ire_once,include
ude,require
E.以上皆可
42.全等运算符===如何比较两个值?(B)
A.把它们转换成相同的数据类型再比较转换后的值
B.只在两者的数据类型和值都相同时才返回True
C.如果两个值是字符串,则进行词汇比较D.基于strcmp函数进行比较 E.把两个值都转换成字符串再比较
43.一段脚本如何才算彻底终止?(A)
A.当调用exit()时
B.当执行到文件结尾时C.当PHP崩溃时
D.当Apache由于系统故障而终止时
中调用某一个对象的方法或属性使用的运算符是(B)。
A. => B. -> C. . D.~
45.在php5中如何让类中的某些方法无法在类的外部被访问?(B)
A.把类声明为private
B.把方法声明为private
C.无法实现
D.编写合适的重载方法(overloadingmethod)
46. 借助继承,我们可以创建其他类的派生类。那么在PHP中,子类最多可以继承几个父类?(A)
A.1个
B.2个
C.取决于系统资源D.3个
E.想要几个有几个
47. 一个类如何覆盖默认的序列化机制(C)
A.使用shutdown和__startup方法
B.调用register_shutdown_function()函数
C.使用__sleep()和__wakeup()方法
D.无法覆盖默认序列化机制
E.使用ob_start()将类放入输出缓冲中48.如何在类的内部调用mymethod方法(B) A.$self=>mymethod();
B.$this->mymethod();C.$current->mymethod();D.$this::mymethod()E.以上都不对
49.以下脚本输出什么(D)
classmy_class{var $my_var;
function_my_class($value){
$this->my_var= $value;
}
}
$a =new my_class(10);echo $a->my_var; ?>A.10
yD.什么都没有
E.一个错误
50.以下脚本输出什么?(A)
classmy_class{var $value;
}
$a =new my_class; $a->my_value = 5;
$b =$a;
$b->my_value = 10;echo $a->my_value;
?>A.10
E.什么都没有
51.以下脚本输出什么?(A )
$global_obj= null;classmy_class{
var $value;
functionmy_class(){global $global_obj;
$global_obj= &$this;
}
}
$a =new my_class; $a->my_value = 5;
$global_obj->my_value = 10;echo $a->my_value;
?>
A.5B.10
C.什么都没有
D.构造函数将报错
E.510
52.考虑如下一段代码,执行时,$eight_tenths->to_string方法返回的字符串是8/10而不是希望的4/5,为什么?(D )
classfraction {
var $numerator;var $denominator;
functionfraction($n,$d) {
$this->set_numerator($n);
$this->set_denominator($d);
}
functionset_numerator($num){
$this->numerator = (int)$num;
}
functionset_denominator($num) {
$this->denominator = (int)$num;
}
functionto_string() {
return"{$this->numerator} / {$this->denominator}";
}
}
functiongcd($a, $b){
return($b>0)?gcd($b,$a%$b): $a;
}
functionreduce_fraction($fraction) {
$gcd= gcd($fraction->numerator,
$fraction->denominator);
$fraction->numerator /= $gcd;
$fraction->denominator /= $gcd;
}
$eight_tenths =newfraction(8,10);
/*Reduce
thefraction*/reduce_fraction($eight_tenths);var_dump($eight_tenths->to_string()); ?>
-
PHP实现获取FLV文件的时间
主要介绍了PHP实现获取FLV文件的时间,本文直接给出实现代码和使用方法,需要的朋友可以参考下。PHP如何获取FLV文件时间呢,答案是fopen文件后查看FLV文件是HEX数据,并转换为number。复制代码代码如下:<?phpfunctionBigEndian2Int($byte_word,$signed=false){$in...
-
数据库设计和访问数据库的 PHP 代码中出现的五个常见问题
导语:您可以用很多的方式创建数据库设计、数据库访问和基于数据库的PHP业务逻辑代码,但最终一般以错误告终。本文说明了数据库设计和访问数据库的PHP代码中出现的五个常见问题,以及在遇到这些问题时如何修复它们。问题1:直接使用MySQL一个常见问题是较老的PHP代码...
-
PHP与.NET的区别
PHP跟,一个面向个人(php),一个面向大型系统(当然,做小系统也是可以的,只是资源占用相对比较多小点)离旗鼓相当还有很远.现在真正在台面上竞争的只有以java为开发语言的J2EE平台和以C#为代表,多语言的平台.下面小编给大家整理了PHP与的区别,供大家参阅。世界上最...
-
php如何基于dom实现图书xml格式数据
导语:php如何基于dom实现图书xml格式数据呢?下面是小编给大家提供的代码实现方法,大家可以参考阅读,更多详情请关注应届毕业生考试网。<?php$doc=newDOMDocument();$doc->load('');$books=$doc->getElementsByTagName("book");foreach($booksas$book){$aut...