php试题网_PHP试题

本文提供了PHP编程的精选试题,涵盖了选择题、填空题等多种题型,旨在帮助读者巩固PHP基础知识,包括会话管理、cookie操作、数组处理、函数使用等核心概念。通过这些试题,开发者可以提升PHP技能,更好地理解和应用PHP语言。
摘要由CSDN通过智能技术生成

PHP试题

生命力顽强的种子,从不对瘠土唱诅咒的歌。以下是小编为大家搜索整理了PHP试题,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!

10dd6b2336e6c5d0cbf2f727e85c9ae8.png

一、选择题

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.永不过期

C.cookie 无法设置

D.在浏览器会话结束时过期

E.只在脚本没有产生服务器端 session 的情况下过期

4. 思考如下代码:如果用户在两个文本域中分别输入“php”和“great”,脚本输出什么?(A) echo $_GET['element'];

?>

A.什么都没有

B.Array

C.一个提示

D.phpgreat

E.greatphp

5. 在 HTTPS 下,URL 和查询字串(query string)是如何从浏览器传到 Web 服务器上的?

(B)

A.这两个是明文传输,之后的信息加密传输

B.加密传输

C.URL 明文传输,查询字串加密传输

D.URL 加密传输,查询字串明文传输

E.为确保加密,查询字串将转换为 header,夹在 POST 信息中传输

6. 当把一个有两个同名元素的表单提交给 PHP 脚本时会发生什么?(C)

A.它们组成一个数组,存储在超级全局变量数组中

B.第二个元素的值加上第一个元素的值后,存储在超级全局变量数组中

C.第二个元素将覆盖第一个元素

D.第二个元素将自动被重命名

E.PHP 输出一个警告

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.在 session.gc_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;

}

?>

A.array (’2′, ’2′)

B.array (’1′, ’1′)

C.array (2, 2)

D.array (Null, Null)

E.array (1, 1)

14.对数组进行升序排序并保留索引关系,应该用哪个函数?(B)

A.ksort()

B.asort()

C.krsort()

D.sort()

E.usort()

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’

B.True => ‘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));

?>

A.NULL

B.0 => 1, 1 => 2, 2 => 3

C.一个引用错误

D.2 => 1, 1 => 2, 0 => 3

E.bool(true)

22.以下哪种标签不是PHP起始/结束符?(D)

A.B.C.D.

E.

23.以下代码哪个不符合PHP语法?(D)

A.$_10B.$,“MyVar”-C.&$somethingD.$10_somethingsE.$aVaR 24.PHP表达式$foo=1+"bob3",则$foo的值是(A)。 A. 1 B. 1bob3 C. 1b D.92

24.PHP的位运算符不包括(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 )。

A.php.ini B.http.conf C.php.sys D. php.exe

29.下列命令中不是PHP的输出命令的是(D )。

echo B.printf() C. print D. write

30.PHP中定义常量的方法是(C )。

A. VAR B.dim C. define() D.undefined()

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"; ?>

A.TheValueis:DogB.TheValueis:CatC.TheValueis:HumanD.TheValueis:10E.Dog 34.print()和echo()有什么区别?(A)

A.print()能作为表达式的一部分,echo()不能

B.echo()能作为表达式的一部分,print()不能

C.echo()能在CLI(命令行)版本的PHP中使用,print()不能

D.print()能在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.";

}

}

?> A.False, True, FalseB.True,True, FalseC.False, True, TrueD.False,False, TrueE.True,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.一个递归函数C.while语句

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

}

A.foreach($result as $key=>$val) B.while($idx*= 2)

C.for($idx=1;$idx

D.for($idx*= 2; STOP_AT>=$idx; $idx= 0)E.while($idx

/*函数声明处*/

{

$is_leap = (!($year %4) && (($year %100) ||

!($year % 400)));return$is_leap;

}

var_dump(is_leap(1987)); /* Displaysfalse*/var_dump(is_leap()); /*Displaystrue*/ ?>

A.functionis_leap($year= 2000)

B.is_leap($year default 2000)C.functionis_leap($year default 2000)

D.functionis_leap($year)

E.functionis_leap(2000 =$year)

40.运行以下代码将显示什么值?假设代码运行时的URL是:testscript.php?c=25(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)

A.include_once,include

B.require,includeC.require_once,include

D.include,require

E.以上皆可

42.全等运算符===如何比较两个值?(B)

A.把它们转换成相同的数据类型再比较转换后的值

B.只在两者的数据类型和值都相同时才返回True

C.如果两个值是字符串,则进行词汇比较D.基于strcmp函数进行比较 E.把两个值都转换成字符串再比较

43.一段脚本如何才算彻底终止?(A)

A.当调用exit()时

B.当执行到文件结尾时C.当PHP崩溃时

D.当Apache由于系统故障而终止时

44.PHP中调用某一个对象的方法或属性使用的运算符是(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

B.NullC.EmptyD.什么都没有

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

B.5C.2D.Null

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()); ?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值