php语言 百文网手机站

最新PHP技术笔试练习题

时间:2020-11-06 19:31:49 php语言 我要投稿

最新PHP技术笔试练习题

  茂盛的禾苗需要水分;成长的少年需要学习。以下是小编为大家搜索整理的最新PHP技术笔试练习题,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!

最新PHP技术笔试练习题

  一、不定项选择

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

  A:php B:jsp C:asp D xml

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

  A: IIS B: apache C: tomcat D Weblogic

  3: PHP常用的开发工具有( ABCD ) x

  A: Zend Stodio B: EditPlus C: DW D: 记事本

  5: 书写php代码能使用的正确形式是(AB )

  A: B:

  C: <# #> D:

  6: php中能使用的注释方式是( ABC )

  A: //???? B: /*???? */ C: #.............. D:

  7: php常用的打印函数为( ABC )

  A: print B: echo C: printf D: 以上都不是

  8: 以下那一个不是PHP数据类型的为( B)

  A: integer B: friend C: boolean D: array

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

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

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

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

  12: 按作用域分的话,php的变量可分为(ABC )

  A: 局部变量 B: 全局变量 C: 静态变量 D: 枚举

  13: $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

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

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

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

  \n”( B )

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

  16: 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

  17以下属于文件包含的函数为( ABCD)

  A include() B: require()

  C:include_once() D: require_once()

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

  A 3 B:5 C:6 D: 4

  19: $a = 3;

  function foo()

  {

  $a=0;

  $a+=2;

  }

  foo();

  echo $a;

  $a的结果为( A )

  A 3 B:2 C:0 D: 5

  20: function doubler($value)

  {

  $value = $value * 2;

  }

  $a = 3;

  doubler($a);

  echo $a;$a为(D )

  A 5 B:0 C:6 D: 3

  21: function doubler(&$value)

  {

  $value = $value * 2;

  }

  $a = 3;

  doubler($a);

  echo $a;$a为(C )

  A 5 B:0 C:6 D: 3

  22: 以下用于追加数组元素的函数为(A D )

  A array_push() B: array_pop() C: array_shift()

  array_unshift()

  23: 以下用于删除数组元素的函数为( )

  A array_push() B: array_pop() C: array_shift()

  array_unshift() D: D:

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

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

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

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

  array_values()

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

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

  array_values()

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

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

  array_values()

  26: 用于删除数组中所有重复的值,返回一个由唯一值组成的数组的函数为( B)

  A in_array() B: Array_unique() C: array_keys() D: array_values() 27:php用那几种形式实现多态( )

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

  29: 字符串的定义方式有( ABC )

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

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

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

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

  “;

  输出结果为( B )

  A Tim O\'Reilly B: Tim O' Reilly

  C:Tim O\Reilly D: TimO\Reilly

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

  ";

  输出结果为( B )

  A C:\\WINDOWS B: C:\WINDOWS

  C: C:WINDOWS D: C:/\WINDOWS

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

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

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

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

  35:以下函数那些事用于过滤字符串空格的( ABC )

  A ltrim( ) B: rtrim( ) C: trim( ) D: wtrim()

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

  的函数为( A)

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

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

  A @example.com B: user@example.com C: example.com D: user

  38: $mystring = 'abc';

  $findme = 'a';

  $pos = strpos($mystring, $findme);

  if ($pos === false)

  echo "not found ";

  else

  echo "found";

  输出结果为( B )

  A not found B: found C: found not found D:not

  39: $str = "My name is Jack, and what is your name?";

  echo substr_count ($str,“name”);程序的输出结果为( B )

  A 1 B: 2 C: 3 D:4

  40: 复制文件使用( A )函数实现

  A copy() B: unlink() C: rename() D: fwrite()

  41:使用( C )函数,可以移动、重新命名一个已经存在的文件或目录

  A copy() B: unlink() C: rename() D: fwrite()

  42: ( C )函数将任何英文文本的日期时间描述解析为 Unix 时间戳

  A date() B: getdate() C: strtotime() D: mktime()

  43: PHP程序中,需要处理的上传数据保存在全局数组( A )

  A $_FILES B: $_COOKIE C: $GLOBALS D: $_SESSION

  44: 使用函数( A )来检查此文件是否是上传文件。

  A is_uploaded_file( ) B: move_uploaded_file()

  C: uploaded_file() D: move_file()

  45:

  二、填空

  1:PHP中的对象分为系统内置对象和自定义对象两种

  2:类型转换:类型强制转换、类型自动转换

  3:所有的变量都有作用域,它体现了变量的可见性与生命周期。

  4:PHP中的变量都以$开头

  5:变量的使用范围,也叫做变量的作用域

  6:php中声明全局变量的关键字是GLOBAL

  7:有两种不同的为函数传递参数的方法。第一种也是最普遍的一种就是按值(value)传递,另一种是按引用(reference)传递。

  8: 数组的每个实体都包含两项:键和值。PHP数组分为索引数组和关联数组两类 9: 数组键既可用字符也可用数字

  10:如果想创建一个范围型的数组外加步长 我们可以使用函数 range

  11:客观世界由对象组成。

  12:具有相同数据(属性)和操作(方法)的对象可归纳成类。

  13对象是一个封装数据属性和操作行为的实体.

  14:php系统构造函数为__Contruct(),系统析构函数为__destruct()

  15:用于定义静态变量的关键字是static

  16:用于在类中定义常量的关键字是 const

  17:使用instanceof关键字可以判断某个对象是否是某个类的实例。

  18:在PHP中我们使用”clone”这个关键字克隆对象

  19:PHP5定义了一个特殊的方法名“__clone()”方法,是在对象克隆时自动调用的方法 20:继承性是面向对象程序设计语言不同于其他语言的最主要的特点.

  21在类里面定义的`没有方法体的方法就是抽象方法

  22:在声明抽象方法时还要加一个关键字“abstract”来修饰;

  23: PHP 5引入了接口,是多重继承问题的解决方法!

  24:PHP规定用interface来定义一个接口,然后用implements让类执行一个接口! 25:我们可以使用”extends”关键字让一个接口去继承另一个接口;

  26:凡是被final标记了的属性和方法均无法重载。如果把final放在class前面,那么整个类将无法被继承!

  27 :Php中比较常用的反射类是 ReflectionClass

  28:使用pathinfo()函数,可以对指定的路径和文件名进行解析

  29: PHP提供了basename()函数,可以快速的获取指定文件的文件名部分

  30:使用dirname()函数,可以快速的获取指定文件的路径部分。

  31:glob()函数可以根据指定的条件,来寻找与条件相符的文件或目录,并通过数组返回。 32: php使用opendir()打开一个目录句柄,以便其他目录函数使用

  33: rmdir()函数会试图删除要求的目录,但是目录必须为空并具有相应的权限 34:使用readdir()函数,会从目录句柄中读取下一个文件的文件名

  35:在使用完opendir()打开的目录句柄后,应使用closedir()进行关闭

  36: file()函数读取文件后,返回1个数组,其中数组的每个单元对应着文件的1行

  37:使用file_get_contents()函数,可以把参数指定的文件,整个读取到1个字符串变量中。

  38: 而使用POST方法时,HTTP会将表单的输入信息进行包装后发送,而GET方式是附加在Action所设定的URL之后发送。

  39:

  三、代码填空

  1

  $array = array(0 => 0, "color" => "red",55,"two"=>array(1=>3,5,6,7)); function showValue($arr)

  {

  $flag=reset($arr);

  while(!is_bool($flag))

  {

  $key=key($arr);

  $value=current($arr);

  if(is_array($value))

  {

  showValue($value);

  }

  else

  {

  echo $key.":".$value,"

  ";

  }

  $flag=next($arr);

  }

  }

  showValue($array);

  2

  Class Test

  {

  public $name="lucky";

  var $age=18;

  function __set($propname,$propvalue)

  {

  $this->$propname=$propvalue;

  print "ok
";

  }

  }

  $model=new Test();

  $model->age=25;

  $model->title="English";

  print "age: ".$model->age."
";

  print "title: ".$model->title."
";

  3:

  Class Test

  {

  public $name="lucky";

  Var $age=25;

  Public $address=“北京”;

  Function __get($propname)

  {

  $vars=array("name","age","address");

  if(in_array($propname,vars))

  {

  return $this->$propname;

  }

  else

  {

  return "No such variable!";

  }

  }

  }

  $model=new Test();

  echo $model->city;

  4

  class A

  {

  public $attribute = 'value';

  public function operation()

  {

  echo "
operation called ".$this->attribute;

  }

  }

  class B extends A

  {

  public $attribute = ‘new value’;

  public function operation()

  {

  echo "
new operation called ".$this->attribute;

  }

  }

  $_a = new A();

  $_a->operation();

  $_b = new B();

  $_b->operation();

  5

  if ($_FILES['userfile']['error'] > 0)

  {

  echo '上传错误: ';

  switch ($_FILES['userfile']['error'])

  {

  case 1:

  echo '上传文件大小超出了PHP配置文件中的约定值:upload_max_filesize'; break;

  case 2:

  echo '上传文件大小超出了表单中的约定值: max_file_size';

  break;

  case 3:

  echo '文件只被部分上载';

  break;

  case 4:

  echo '没有上传任何文件';

  break;

  }

  exit;

  }

  if ($_FILES['userfile']['type'] != 'text/plain')

  {

  echo '问题: 文件不是一个文本文件。';

  exit;

  }

  $upfile = './uploads/'.$_FILES['userfile']['name'];

  if (is_uploaded_file($_FILES['userfile']['tmp_name']))

  {

  //判断是否为上传文件

  if (!move_uploaded_file($_FILES['userfile']['tmp_name'], $upfile))

  {

  //移动文件

  echo '问题: 不能将文件移动到指定目录。';

  exit;

  }

  }

  else

  {

  echo '问题: 上传文件不是一个合法文件: ';

  echo $_FILES['userfile']['name'];

  exit;

  }

  echo '文件上传成功!

';

  6

  $dir = dir(“html”);//创建directory类对象

  echo "当前句柄:".$dir->handle."
";

  echo "路径:".$dir->path."
";

  while(false !== ($entry = $dir->read()))

  {

  echo $entry."
";

  }

  $dir->close();

  四、论述题

  1:请用代码掩饰循环读取文件内容

  $handle = fopen("welcome.txt","rb");

  $contents="";

  while(!feof($handle))

  {

  $contents=fread($handle,1024);

  }

  fclose($handle);

  print $contents ;

  2: 试用函数演示递归求和

  function showSum($n)

  {

  if($n==1)

  return 1;

  else

  return showSum($n-1)+$n;

  }

  print showSum(10);

  3: 试演示嵌套函数

  function showValue()

  {

  function showMsg()

  {

  print “The programme is very interesting ”;

  }

  showMsg();

  }

  4试打印九九乘法表

  5:试演示读取文件的操作

  $filename = “html/cache.txt”;

  $handle = fopen($filename, “r”);

  $contents = fread($handle, filesize($filename));

  fclose($handle);

  6:试演示写入文件的操作

  $handle = fopen(“html/cache.txt”,”w”);

  fwrite($handle,”添加文字到文件中”);

  fclose($handle);

  7:PHP提供了那几种网页传递的方法,并说明各自的特点和作用:

  8在服务器端的PHP接收程序中,必须依照

标签中的method 属性设定值,PHP关于窗体处理的「预定变量」有哪两种 试述两者的区别、特点、作用

 

  9:试列举读取文件内容的函数

  file_get_contents()

  fread()

  file()

  10:试列举写入文件内容的函数

  fwrite()、fputcsv()、file_put_contents()

  11:试列举过滤字符串空格的函数

  ltrim rtrim rrim

  12:试列举截取字符串的函数

  13试述面向对象的基本特征

  (1)客观世界由对象组成。

  (2)具有相同数据(属性)和操作(方法)的对象可归纳成类。

  (3)类可以派生出子类,子类除了继承父类的全部特性外还可以有自己的特性

  (4)对象之间的联系通过消息传递(可理解为方法调用)来维系。

  假设m1是类Manager的一个实例(或对象),当外界要求把这个对象所

  代表的那位经理的级别改变为2时,就应以下面的方式向这个对象发

  出一条消息: ml.ChangeLevel(2)消息传递

  14:创建一个表,为其加入一个自动增长列,默认值列,非负数列