php语言

PHP试题

时间:2025-04-30 04:19:16 php语言 我要投稿

PHP试题

  生命力顽强的种子,从不对瘠土唱诅咒的歌。以下是小编为大家搜索整理了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.永不过期

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

  A.reduce_fraction函数必须返回一个值

  B.reduce_fraction函数必须接受一个整型值 C.gcd函数有问题

  D.必须通过引用的方式传递$eight_tenths对象

  E.对象的实例不能传递给方法以外的其他结构。 53.以下代码是做什么的?(A )

  ?>

  A.静态调用mymethod方法

  B.生成myclass的实例并调用mymethod方法

  C.产生一个语法错误

  D.默认myclass类最后被创建出的实例并调用mymethod()E.调用名为myclass::mymethod()的函数

  54.以下脚本输出什么?(A )

  function a ($x= 1){

  $this->myvar= $x;

  }

  }

  class b extends a{var $myvar;

  function b ($x= 2){

  $this->myvar= $x;parent::a();

  }

  }

  $obj=newb;

  echo $obj->myvar; ?>

  A.1

  B.2

  C.一个错误,因为没有定义a::$myvar

  D.一个警告,因为没有定义a::$myvarE.什么都没有

  55.以下脚本输出什么?(D )

  functiona(){

  echo 'Parent called';

  }

  }

  classb{

  functionb(){

  }

  }

  $c =newb();

  ?>

  A.Parent called

  B.一个错误

  C.一个警告

  D.什么都没有

  56.能读取索引为user的session的是:( B )

  A. SESSION[?user?]; B. $_SESSION[?user?];

  C. $_SESSION->get(?user?); D. Session.Values[?user?];

  57.。思考如下代码:如果用户在两个文本域中分别输入“php”和“great”,脚本输出什么?(A )

  echo $_GET['element'];

  ?>

  A.什么都没有B.Array

  C.一个提示D.phpgreatE.greatphp

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

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

  B.加密传输

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

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

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

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

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

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

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

  D.第二个元素将自动被重命名E.PHP输出一个警告

  60.如何把数组存储在cookie里?(B ) A.给cookie名添加一对方括号[]

  B.使用implode函数

  C.不可能,因为有容量限制D.使用serialize函数

  E.给cookie名添加ARRAY关键词 61.Php当中"."是什么作用?(A )。

  A.连接字符串

  B.匹配符

  C.赋值

  D.换行

  62.使用( A)函数可以求得数组的大小。

  A. count()

  B. conut()

  C. $_COUNT["名称"]

  D. $_CONUT["名称"]

  63.以下代码运行结果(D )。

  $A=array("Monday","Tuesday",3=>"Wednesday");echo $A[2];

  Monday

  Tuesday

  WednesdayD.没有显示

  64.在str_replace(1,2,3)函数中123所代表的名称是( B)。A. "取代字符串","被取代字符串","来源字符串"

  B."被取代字符串","取代字符串","来源字符串"

  C. "来源字符串","取代字符串","被取代字符串" D. "来源字符串","被取代字符串","取代字符串"

  65. 索引数组的键是。 (E)

  A.浮点,字符串

  B.正数,负数

  C.偶数,字符串

  D.字符串,布尔值

  E.整型,字符串

  66. 考虑如下数组,怎样才能从数组$multi_array中找出值cat?(E)

  $multi_array=array("red","green",42=>"blue","yellow"=>array("apple",9

  =>"pear","banana","orange"=>array("dog","cat","iguana")));

  ?>

  A.$multi_array['yellow']['apple'][0]

  B.$multi_array['blue'][0]['or ange'][1]C.$multi_array[3][3] [2]

  D.$multi_array['yellow']['orange']['cat']

  E.$multi_array['yellow']['orange'][1]

  67. 运行以下脚本后,数组$array的内容是什么?(B)

  $array= array('1','1');foreach($arrayas$k =>$v) {

  $v= 2;

  }

  ?>

  A.array('2','2')

  B.array('1','1)

  C.array(2, 2)D.array(Null,Null)E.array(1, 1)

  68.下面程序运行的结果为( A)。

  $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

  69.以下代码能正确在浏览器中显示图片的是:(B)

  $img = imagecreatefromjpeg(“images/scce.jpg”)im agejpeg($img);

  imagedestroy($img); ?>

  header(“content-type:image/jpeg”);

  $img = imagecreatefromjpeg(“images/scce.jpg”)imagejpeg($img);

  imagedestroy($img);

  ?>

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

  ?>

  70.哪种方法用来计算数组所有元素的总和最简便?(D)

  A.用for循环遍历数组

  B.用foreach循环遍历数组

  C.用array_intersect函数 D.用array_sum函数E.用array_count_values()

  71.以下脚本输出什么?(A)

  $array= array(0.1 =>'a', 0.2=> 'b');echo count ($array);

  ?>

  A1

  B.2C.0

  D.什么都没有

  E.0.3

  72. 以下脚本输出什么?(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

  73.在不考虑实际用途的前提下,把数组直接传给一个只读函数比通过引用传递的复杂度低?

  (B)

  A.是的,因为在把它传递给函数时,解释器需要复制这个数组

  B.是的,如果函数修改数组的内容的话

  C.是的,如果这个数组很大的话

  D.是的,因为PHP需要监视函数的输出,已确定数组是否被改变

  E.不是

  74. 以下脚本输出什么?(E)

  functionsort_my_array($array){returnsort ($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)

  75.以下脚本输出什么?(A)

  $array=array(1, 2, 3, 5, 8,13, 21,34, 55);

  $sum= 0;

  for ($i = 0;$i< 5; $i++) {

  $sum+= $array[$array[$i]]; }

  echo $sum;

  ?>

  A.78

  B.19

  C.NULL

  D.5

  E.0 76. 以下哪一项不能把字符串$s1和$s2组成一个字符串?(A)

  A.$s1+ $s2

  B."{$s1}{$s2}"

  C.$s1.$s2

  D.implode('',array($s1,$s2))

  E.以上都可以

  77. 变量$email的值是字符串user@example.com,以下哪项能把字符串转化成

  example.com?(D) A.substr($email,strpos($email,"@"));

  B.strstr($email,"@");

  C.strchr($email,"@");

  D.substr($email,strpos($email,"@")+1);

  E.strrpos($email,"@");

  78.以下程序的输出结果是(B )。

  $x='apple';

  echo substr_replace($x,'x',1,2);

  ?>

  A.x

  B.axle

  C.axxle D.xapple

  79.以下可以匹配中国居民身份证号码的正则表达式(D )。A.\d{15}

  B.\d{18}

  C.\d D.\d{15}|\d{18}

  80.以下针对异常处理的说明,错误的有(A )。

  A.需要进行异常处理的代码应该放入CATCH代码块内,以便捕获潜在的异常

  B.每个TRY或THROW 代码块必须至少拥有一个对应的CATCH块

  C.使用多个CATCH可以捕获不同种类的异常。

  D.可以在TRY代码块内CATCH代码块中再次抛出异常

  81.给定一个用逗号分隔一组值的字符串,以下哪个函数能在仅调用一次的情况下就把每个独

  立的值放入一个新创建的数组?(D)

  A.strstr()

  B.不可能只调用一次就完成 C.extract()

  D.explode()

  E.strtok()

  82. 要比较两个字符串,以下那种方法最万能?(D)

  A.用strpos函数

  B.用==操作符 C.用strcasecmp()

  D.用strcmp()

  83. 以下哪个PCRE正则表达式能匹配字符串php|architect?(E)

  A..* B....|.........

  C.\d{3}\|\d{8} D.[az]{3}\|[az]{9}

  E.[a-z][a-z][a-z]\|\w{9}

  84.以下脚本输出什么?(B)

  $s = '12345';

  $s[$s[1]] = '2';

  echo $s;

  ?> A.12345

  B.12245

  C.22345

  D.11345

  E.Array

  85.如果用+操作符把一个字符串和一个整型数字相加,结果将怎样?(B)

  A.解释器输出一个类型错误

  B.字符串将被转换成数字,再与整型数字相加

  C.字符串将被丢弃,只保留整型数字

  D.字符串和整型数字将连接成一个新字符串

  E.整形数字将被丢弃,而保留字符串

  86.哪个函数能不区分大小写得对两个字符串进行二进制比对? (C) A.strcmp()

  B.stricmp()C.strcasecmp()D.stristr()

  E.以上都不能

  87. 函数 (D)

  A.fgets(),fseek()B.fread(),fgets()C.fputs(),fgets()D.fgets(),fread()E.fread(),fseek()

  88.考虑如下PHP脚本,它一行一行的读取并显示某文本文件的内容。在横线处填入什么才能使脚本正常运作?(D)

  $file = fopen("test","r");while(!feof($file)) {

  }

  fclose($file);

  ?>

  A.file_get_contents($file)B.file($file)C.read_file($file)D.fgets($file)E.fread($file)

  89. 以下哪种方法能保证锁在任何竞争情况下都安全? (D)

  A.用flock()锁住指定文件

  B.用fopen()在系统的临时文件夹里打开文件 C.用tempnam()创建一个临时文件

  D.用mkdir()创建一个文件夹来当

  E.用tmpfile()创建一个临时文件

  90.考虑如下脚本,最后文件myfile.txt的内容是什么 (E)

  $array='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';

  $f= fopen("myfile.txt","r");for ($i = 0;$i< 50; $i++) {

  fwrite($f,$array[rand(0,strlen($array)-1)]);

  }

  ?>

  A.什么都没有,因为$array实际上是一个字符串,而不是数组

  B.49个随机字符

  C.50个随机字符 D.41个随机字符

  E.什么都没有,或者文件不存在,脚本输出一个错误

  91.函数delete是做什么的?(E)

  A.删除文件

  B.删除文件夹

  C.释放变量

  D.移除数据库记录

  E.没有这个函数!

  92.考虑如下脚本,哪个PHP函数和它的功能最接近?(C)

  functionmy_funct ($file_name,$data){

  $f= fopen($file_name,'w');fwrite($f,$data);

  fclose ($f);

  }

  ?>

  A.file_get_contents()

  B.file_put_contents()

  C.没有这样的函数

  D.file()

  E.fputs() 93.file()函数返回的数据类型是(A )。

  A.数组

  B. 字符串

  C. 整型

  D. 根据文件来定

  94.以下哪个选项能将文件指针移到开头?(D)

  A.reset() B.fseek(-1)

  C.fseek(0,SEEK_END)

  D.fseek(0,SEEK_SET)

  E.fseek(0,SEEK_CUR)

  95.假设image.jpg存在并能够被PHP读取,调用以下脚本时,浏览器上显示什么?(E)

  header("Content-type: image/jpeg");

  ?>

  readfile("image.jpg");

  ?>

  A.一张JPEG图片

  B.一个二进制文件

  C.下载一个二进制文件

  D.下载一张JPEG图片

  E.一张残破的图片

  96. 以下脚本在Windows系统上输出什么?(C)

  echo strtotime("November 11, 1952");

  ?> A.-14462

  B.14462

  C.-1

  D.0

  E.一个错误

  97. 以下脚本是做什么的?(D)

  $a = array_sum(explode (' ',microtime()));for ($i = 0;$i<10000; $i++);

  $b =array_sum(explode (' ',microtime()));echo $b-$a;

  ?>

  A.测算for循环的执行时间 B.测定服务器的时钟频率

  C.计算操作系统的硬件时钟频率与软件时钟频率的差

  D.测算for循环、一个array_sum()函数与一个microtime()的总执行时间

  E.测算for循环、两个array_sum()函数与两个microtime()的总执行时间

  98.EST是CST之前的一个时区(就是说任何时候EST都比CST晚一个小时)。那么以下脚本输出什么?(A)

  $a = strtotime('00:00:00Feb23 1976EST');

  $b = strtotime('00:00:00Feb23 1976CST');echo $a -$b;

  ?>

  A.-3600B.3600

  C.0D.-1

  E.1

  99.以下哪个选项对time函数的描述最准确?(E)

  A.返回从UNIX纪元开始到现在经过的秒数

  B.以GMT时区为基准,返回从UNIX纪元开始到现在经过的秒数

  C.以本地时区为基准,返回从UNIX纪元开始到现在经过的秒数 D.计算从UNIX纪元开始经过的时间,并以整型数字表示

  E.以上都对

  100.以下脚本输出什么?(C)

  $time = strtotime('2004/01/01');echo date ('H:\i:s',$time);

  ?>A.00:00:00

  B.12:00:00C.00:i:00D.12:i:00E.-1

  101.以下哪个表达式能让cookie在一小时后过期(假设客户端的时间和时区设置都正确,并且客户端与服务器不在同一个时区)?(A)

  A.time()+ 3600B.time(3600)C.gmtime()+ 3600D.gmtime(3600)E.A和C都对 102.getdate()函数返回。(C)

  A.一个整数

  B.一个浮点数C.一个数组

  D.一个字符串E.一个布尔值

  103.要把microtime()的输出转化成一个数字值,以下那种方法最简便?(D)

  A.$time = implode (' ',microtime());

  B.$time = explode('',microtime()); $time = $time[0]+ $time[1];

  C.$time = microtime()+ microtime();

  D.$time= array_sum(explode('',microtime()));

  E.以上都不对

  104.GMT时区下的时间戳与你所在时区下的时间戳的秒数差距有多大?(B) A.取决于你所在时区与GMT时区的时间差

  B.没有差别

  C.只当你也在GMT时区时才会相同

  D.永远不会相同

  E.以上都不对

  105.读取get方法传递的表单元素值的方法是:(A )。 A. $_GET["名称"]

  B. $get["名称"]

  C. $GEG["名称"]

  D. $_get["名称"]

  106.如何将一个数组作为附件发送,并要能在接收后重新组合?(D)

  A.用serialize()把它转换成字符串,再用htmlentities()处理一下

  B.把它存在文件中,并用base64_encode()进行编码 C.用serialize()把它转换成数组

  D.用serialize()把它转换成数组,再用base64_encode()进行编码

  E.把它存在文件中,再用convert_uuencode()进行编码 107.以下关于MYSQL叙述中,错误的是(A )。

  A . MYSQL是真正多线程、单用户的数据库系统

  B. MYSQL是真正支持多平台的

  C. MYSQL完全支持ODBC

  D. MYSQL可以在一次操作中从不同的数据库中混合表格

  108.返回上一个MYSQL操作中的错误信息的数字编码使用的函数是(C )。

  A.mysql_error();

  B.Mysql_close();

  C.Mysql_errno();

  D.Mysql_connect();

  109.清除一个表结构的SQL语句是(B )。

  A.Delete

  B.Drop

  C.Update

  D.Truncate

  210.在PHP函数中,属于选择数据库函数的是(D )。

  A.mysql_fetch_row

  B.mysql_fetch_object C.mysql_result

  D.mysql_select_db

  211.Innerjoin(自然)连接是用来做什么的?(B) A.把两个表通过相同字段关联入一张持久的表中

  B.创建基于两个表中相同相同行的结果集

  C.创建基于一个表中的记录的数据集

  D.创建一个包含两个表中相同记录和一个表中全部记录的结果集

  E.以上都不对

  212.以下哪个说法正确?(C)

  A.使用索引能加快插入数据的速度 B.良好的索引策略有助于防止跨站攻击

  C.应当根据数据库的实际应用按理设计索引

  D.删除一条记录将导致整个表的索引被破坏

  E.只有数字记录行需要索引

  213.考虑如下数据表和查询。如何添加索引能提高查询速度?(C )

  CREATETABLEMYTABLE(IDINT,

  NAMEVARCHAR(100),

  ADDRESS1VARCHAR(100),

  ADDRESS2VARCHAR(100),

  ZIPCODEVARCHAR(10),

  CITY VARCHAR(50),

  PROVINCE VARCHAR(2)

  )

  SELECTID,VARCHARFROMMYTABLE

  WHEREIDBETWEEN0AND100ORDER BYNAME,ZIPCODE

  A.给ID添加索引 B.给NAME和ADDRESS1添加索引

  C.给ID添加索引,然后给NAME和ZIPCODE分别添加索引

  D.给ZIPCODE和NAME添加索引

  E.给ZIPCODE添加全文检索

  214.执行以下SQL语句后将发生什么?BEGINTRANSACTION;

  DELETEFROMMYTABLEWHEREID=1;DELETEFROMOTHERTABLE;ROLLBACKTRANSACTION; (E )

  A.OTHERTABLE中的内容将被删除

  B.OTHERTABLE和MYTABLE中的内容都会被删除

  C.OTHERTABLE中的内容将被删除,MYTABLE中ID是1的内容将被删除

  D.数据库对于执行这个语句的用户以外的起来用户来说,没有变化

  E.数据库没用变化

  215.DESC在这个查询中起什么作用?(C )

  SELECT *

  FROMMY_TABLEWHEREID > 0

  ORDER BYID,NAMEDESC;

  A.返回的数据集倒序排列 B.ID相同的记录按NAME升序排列

  C.ID相同的记录按NAME倒序排列

  D.返回的记录先按NAME排序,再安ID排序

  E.结果集中包含对NAME字段的描述

  216.以下哪个不是SQL函数?(E) A.AVGB.SUMC.MIND.MAX

  E.CURRENT_DATE()

  217. 假设$action和$data变量用来接受用户输入,并且register_globals是打开的。以下代码是否安全?(C)

  $isAdmin = true;

  }

  $data = validate_and_return_input($data);switch($action){

  case'add':

  addSomething($data);break;

  case'delete':

  if($isAdmin) {deleteSomething($data);

  }

  break;case'edit':

  if($isAdmin) {editSomething($data);

  }

  break;default:

  print "BadAction.";

  }

  ?>

  A.安全。在执行受保护的操作前先检查$isAdmin是否为true B.不安全。没有确认$action是不是合法输入

  C.不安全。$isAdmin可以通过register_globals被篡改

  D.安全。因为它验证了用户数据$data

  E.A和B

  218.尽管并不彻底,但以下哪些方法能识别并防范代码中的安全隐患?(选择最合适的答案)(E)

  A.查阅PHP手册中提到的安全隐患

  B.任何脚本执行失败的情况都写入日志

  C.保持更新最新的PHP版本,尤其是解决了安全问题的那些 D.使用第三方PHP包时,了解并修正其中的安全问题

  E.以上都对

  219.当网站发生错误时,该如何处理? (B) A.应该向用户显示错误信息以及导致该错误的相关技术信息,并且网站管理员要记录这个错误

  B.需要记录该错误,并向用户致歉

  C.应该向用户显示错误信息以及导致该错误的相关技术信息,以便用户把错误信息汇报给网站管理员

  D.把用户引导回主页,让用户不知道发生了错误

  E.以上都不对

  220. 以下脚本如何用三元操作替代?(E)

  if ($a< 10){

  if ($b> 11){

  if ($c ==10 &&$d!=$c){

  $x =0;

  } else {

  $x =1;

  }

  }

  }

  ?>

  A.$x= ($aA.< 10||$b > 11 ||$c == 1 &&$d!=$c)? 0 :1;

  B.$x =($a< 10 ||$b > 11 ||($c== 1 &&$d !=$c))?0 :1;

  C.$x =(($a<10 &&$b>11) ||($c ==1 &&$d !=$c))?0 :1;

  D.$x= ($a< 10 &&$b>11 &&$c==1 &&$d!=$c)?1 :0;

  E.以上都不对

  221:Php文件的后缀名是( A )

  A:php B:jsp C:asp D xml

  222:php环境的网页运行服务器是( B )

  A: IIS B: apache C: tomcat D Weblogic

  223: 以下函数中能够把二进制转换成十进制的函数为( D )

  A: decbin() B: decoct() C: hexdec() D: bindec()

  224: 以下转义字符中为制表符的是( B )

  A:\n B: \t C: \r D: \$

  225:以下函数中用于判断是否为数组的函数为( C )

  A: is_long() B: is_double() C: is_array() D: is_object()

  226: $a=1;$b=2; function Sum() { Global $a,$b; $b=$a+$b; } Sum(); echo $b;$b的结果为( C )

  A: 2 B: 1 C: 3 D: 0

  227:若$a=10;则$a++为(C ), ++$a为( )

  A:10,10 B: 11,10 C:10,11 D: 11,11

  228: $a=(3>5) ? (‘yes’) : (‘no’);echo $a.”

  \n”( B )

  A:yes B: no C:0 D: 1

  229: Function keep_track(), STATIC $count=5; echo $count++,”

  ” - Keep_track(); Keep_track();

  Keep_track();该程序的结果为(B )

  A5,5,5 B: 5,6,7 C:6,7,5 D: 6,5,7

  230:print strlen(“p h p”) 结果为( C )

  A 3 B:5 C:6 D: 4

  231: $a = 3; function foo() { $a=0; $a+=2; } foo(); echo $a;$a的结果为( A )

  A 3 B:2 C:0 D: 5

  232: function doubler($value) { $value = $value * 2; } $a = 3; doubler($a); echo $a;$a为(D )

  A 5 B:0 C:6 D: 3

  233: function doubler(&$value) { $value = $value * 2; } $a = 3; doubler($a); echo $a;$a为(C )

  A 5 B:0 C:6 D: 3

  234: 以下用于修改数组元素的函数为( A )

  A array_pad() B: array_pop() C: array_shift() D: array_unshift()

  235:判断数组键存在的函数为( B )

  A in_array() B: array_key_exists() C: array_keys() D: array_values()

  236:判断数组值存在的函数为( A)

  A in_array() B: array_key_exists() C: array_keys() D: array_values()

  237: 要想返回一个数组中单元的键名,可以使用( C )函数

  A in_array() B: array_key_exists() C: array_keys() D: array_values()

  238: 用于删除数组中所有重复的值,返回一个由唯一值组成的数组的函数为( B) A in_array() B: Array_unique() C: array_keys() D: array_values()

  239:php用那几种形式实现多态( )

  A接口 B: 继承 C: 抽象 D: 封装

  240: 以下能够识别转义字符的为( B )

  A单引号 B: 双引号 C: 定界符 D: 美元符号

  241: $name='Tim O\'Reilly'; echo $name."

  “; 输出结果为( B )

  A Tim O\'Reilly B: Tim O' Reilly C:Tim O\Reilly D: TimO\Reilly

  242: $path='C:\\WINDOWS';echo $path."

  "; 输出结果为( B )

  A C:\\WINDOWS B: C:\WINDOWS C: C:WINDOWS D: C:/\WINDOWS

  243: 函数(A )返回一个字符串里的字符数

  A strlen() B: strcmp ( ) C: strtolower( ) D: ucfirst( )

  244: 使用( B )函数比较字符串

  A strlen() B: strcmp ( ) C: strtolower( ) D: ucfirst( )

  245: 将字符串中的换行符(\n)转换为

  的函数为( A)

  A nl2br() B: strip_tags() C: substr( ) D: implode()

  246: $email = 'user@example.com';$domain = strstr($email, '@');echo $domain; 输出结果为( A )

【PHP试题】相关文章:

PHP笔试试题07-18

2017经典面试PHP试题05-24

php练习笔试题06-15

PHP考试题05-11

php面试题05-18

PHP面试试题精选07-25

PHP经典面试题07-28

PHP应聘笔试题06-18

PHP考试笔试题06-28