当前位置:免费学习网考试资料计算机类内容页

PHP应聘笔试题

2020-09-18 17:40:01 计算机类 访问手机版

  引导语:PHP是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用,以下是小编整理的PHP应聘笔试题,欢迎参考阅读!

    题目一:

  <?php

  echo -10%3;

  ?>

  答案:-1。

  考查:优先级。因为-的优先级比%求余的优先级低,也就是-10%3。

    题目二:

  print intpow2,32;

  答案:0

    题目三:

  //file1.php

  <?php

  $a = '123';

  ?>

  //file2.php

  <?php

  echo include'file1.php';

  ?>

  答案:1.

  考查:返回值。因include也是一个函数,有返回值。在成功时返回1,失败时返回错误信息。如果被包含的文件有return,则inculde成功时返回该文件的返回值。

    题目四:

  <?php

  $count = 5;

  function get_count

  static $count = 0;

  return $count++;

  ++$count;

  get_count;

  echo get_count;

  ?>

  答案:1.

  考查:static和++。因static $count,所以只在第一次调用get_count的时候对$count赋值为0,第二次再进来这个函数,则不会第二次赋值。其次就是return $count++和return ++$count了,前者先返回,后者先++再返回。

    题目五:

  <?php

  $arr= array0 =>1,'aa' =>2,3,4;

  foreach$arr as $key => $val

  print$key == 'aa' ? 5 : $val;

  ?>

  答案:5534.

  考查:类型转换。因遍历数组第一次的时候,$key和aa的比较实际就是0和aa的比较,一个是int一个是string,这个时候会转换类型,将字符串转换为数字再与数字比较。所以0=='aa'就是0==0,所以为true,也就是输出5。虽然PHP是若类型语言,但是人家也有类型的好吗。

   题目六:

  <?php

  echo count false;

  $a = count "567" + countnull

  + countfalse;

  echo $a;

  ?>

  答案:2.

  考查:count的用法。

  因count的官方解释“If the parameter

  is not an array or not an object

  with implemented Countable

  interface, 1 will be returned.”.意思是说,如果不是数组或者对象的其他类型,返回1.那么这个值应该就是1+0+1了(boolen人家也是一个类型,虽然是讨厌的false)。NULL的意思是没有值,难道在计数函数中还能有1?

    题目七:

  <?php

  $arr = array1,2,3;

  foreach$arr as &$val

  $val += $val % 2 ? $val++ : $val--;

  $val = 0;

  printjoin'',$arr;

  ?>

  答案:330。

  考查:++和&。

  因foreach结束后的数组应该是array3,3,7;最后给第三个元素赋值为0,所以就是330了。其中注意的是&,如果有&则是对原变量操作,如果没有,则是先生成一个新变量,然后给这个变量复制,最后操作的是这个新变量。

    题目八:

  <?php

  echo intval0.1+0.7*10;

  ?>

  答案:7。

  考查:浮点数的概念。

  因0.1+0.7=0.8 0.8*10=8 所以转换成整数后还是8?错!因为0.1+0.7=0.8是浮点数,0.8*10在数学计算中是正整数8,可是在计算机中它仍然是浮点数8,什么叫浮点数8?每一个看起来像整数的浮点数,其实都不是整数,比如这个8,它其实只是

  7.9999循环,无限接近于8,转换成整数会舍弃小数部分,就是7喽。

    题目九:

  <?php

  ini_set'display_errors',0;

  $arr = array1=>1,3=>3;

  $i = 2;

  $a = 'test' . isset$arr[$i] ?

  $arr[$i] : $i;

  请问$a的值是什么?

  A、test B、NULL C、2 D、test2

  ?>

  答案:B。

  考查:优先级 因“."的优先级高于三元运算符"?:"。所以程序其实报错了。会说$arr的索引2不存在。

    题目十:

  <?php

  $a = 3;

  $b = 5;

  if$a = 5 || $b = 7

  $a++;

  $b++;

  echo $a . " " . $b;

  ?>

  A、6 8 B、6 6 C、2 6 D、1 6 E、4 6

  答案:D。

  考查:优先级,基础概念,++。因“="的优先级低于“||”,所以先逻辑判断再赋值。也就是$a = 5 || $b = 7。所以,最后其实给a赋值了,$a等于1.