博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP中常见的面试题3(附答案)
阅读量:6893 次
发布时间:2019-06-27

本文共 4154 字,大约阅读时间需要 13 分钟。

一、选择题

01. 输出为Mozilla/4.0(compatible;MSIE5.01;Window NT 5.0)时,可能的输出语句是:

   A. $_SERVER['HTTP_USER_AGENT_TYPE'];

   B. $_SERVER['HTTP_USER_AGENT'];

   C. $_SERVER['USER_AGENT'];

   D. $_SERVER['AGENT'];

  

02. 下面功能PHP无法实现的是:

   A. 服务器端脚本运行

   B. 命令行脚本运行

   C. 客户端图形界面(GUI)程序

   D. 浏览器端执行DOM操作

  

03. 下面说法不正确的是:

   A. PHP有四种标量类型:布尔型(boolean),整型(integer),浮点型(float),字符串(string)

   B. 浮点型(float)与双精度型(double)是同一种类型

   C. 复合类型包括:数组(array),对象(object),资源(resource)

   D. 伪类型:混合型(mixed),数字型(number),回调(callback)

   

04. 执行下面的代码后, 得到的输出是:(说明:  Echo print array eval list è语言结构)

   A.

   B. true

   C. false

   D. FALSE

 

05. 执行下面的代码的结果是什么?

   A. boolean

   B. boolean0

   C. booleanFALSE

   D. Booleanfalse

 

06. 写出下面代码执行的结果:

结果: 12 10 18  (二,十、八和十六进制之间转换,核心点二进制)

 

07. 下面代码的执行结果是什么?

   A. 0     C. 6

   B. 3     D. "33+4+5";

 

09. 下面代码加入下面那个函数后返回TRUE:

return ? == 'A';

   A. ord(65)

   B. chr(65)

   C. 65+''

   D. ''+65

  

10. 下面代码的输出正确的是:

5,5=>8,22,2=>'8',81); echo $a[7]; echo $a[6]; echo $a[3]; ?>

   A. 空2281   

   B.空8122    

   C.8122    

   D.空空空

  

11. 下面代码的输出结果:

   A. hello

   B. 空空

   C.报错

   D.hellohello

  

12. 写出下面代码的结果:

>0; //001 ==>1 echo 2>>1; //010 ==> 001=>1 echo 3<<2; //011 <== 01100 =>12?>

A. 012

B. 106

C. 1112 

D.123

 

13. 下面代码的执行结果:

A. 0123456789

B. 012345678910

C. 无输出

D. 死循环

  

14. 下面对于echo, print 的描述正确的是:

A. echo, print 都可以打印多个参数

B. print 可以打印多个参数,echo 不可以

C. echo  可以打印多个参数,print不可以

D. echo, print 都不可以打印多个参数

  

15. 对于正面的代码

'red', 'banana'=>'yellow'); ?>

   不能够正确得到结果'yellow'的代码是:

   A. echo "A banana is {$fruits['banana']}";

   B. echo "A banana is $fruits['banana']";

   C. echo "A banana is {$fruits[banana]}";

   D. echo "A banana is $fruits[banana]";

  

16. 下面代码执行完成后的结果是什么?

   结果:   1   2

 

 

18. 下面的语句输出结果 :

 

   a. $foo bar;

   b. 'EOT' $foo bar EOT;

   c. test bar;

   d. 'EOT' test bar EOT;

 

19.$b的值是:

   $a=3; $b=4;

   if($a||$b=5){

      echo 'tudo';

   }

   a. 4;

   b. 5;

   c. 3;

   d. false

 

二、简答题

1.  什么事面向对象?主要特征是什么?

  1) 面向对象是程序的一种设计方式,它利于提高程序的重用性,使程序结构更加清晰。

  2) 主要特征:封装、继承、多态

 

2. HTTP 状态中302、403、 500代码含义?

  302重定向、

  403服务器拒绝访问

  500服务器内部错误

 

4. Linux 下建立压缩包,解压缩包的命令。

  压缩 tar czf test.tar.gz test.php

  解压 tar xzf test.tar.gz

 

5. 请写出数据类型(int char varchar datetime text)的意思;请问 varchar 和 char有什么区别?

  1)类型介绍:

  int是数字类型,

  char固定长度字符串,

  varchar长度变字符串,

  datetime日期时间型,

  text文本字符串

   2)varchar 和 char的区别:

  1. Char定义的为固定长度, 范围是0~255, varchar定义的为变长长度, 范围为0~65535

  2.char在存储时会自动补空格, varchar不会.

  3.varchar在存储时会多占用1~2个字节记录长度, char不会.

 

6. MyISAM 和 InnoDB 的基本区别?

  1. 查询速度  myisam快一些

  2. 事务      innodb支持, myisam不支持

  3. 全文索引  myisam支持, innodb不支持

  4. 锁机制    myisam支持表所, innodb支持行锁

  5. 存储文件  myisam产生三个文件(.frm  .myd  .myi),  innodb产生两个文件(.frm  .ibd)

  

7. 不使用cookie向客户端发送一个cookie.

  header('set-cookie: abc=abc;max-Age=3600;path=/');

 

8. isset() 和 empty() 区别,对不同数据的判断结果

  1)isset()是判断变量是否存在,是否定义

  2)empty()是判断变量的值是否为空.

 

9. 如何在页面之间传递变量(至少两种方式) ?

  1)get

  2)post

  3)ajax

  4)curl

  5)cookie

  6)session

 

三、PHP 代码题

1. 写出匹配URL的正则表达式.

  http://www.baidu.com/index.php?id=1&name=user1

  (http|ftp):\/\/(www.)?(\S*)(\?\S*\&\S*)?(.*)\/\/(.*)\?(.*)?

 

2. 请写出常见的排序算法,并用PHP实现冒泡排序,将数组$a = array()按照从小到大的方式进行排序

  快速排序

  冒泡排序

  插入排序

  归并排序

$arr[$j+1]){ $tmp=$arr[$j]; $arr[$j]=$arr[$j+1]; $arr[$j+1]=$tmp; } } } Return $arr;}$arr=array(3,2,1);print_r(mysort($arr));

 

3. 在数据库test中的一个表student,字段是name,class,score。分别代表姓名、所在班级,分数。

  1) 算出每个班级中的学生,按照成绩降序排序;  

  select name,class,score from student order by score desc;

  2) 查出每个班的及格人数和不及格人数,格式为:class、及格人数、不及格人数

  SELECT

    sum(case when score >= 60 then 1 else 0 end) jige,

    sum(case when score < 60 then 1 else 0 end) bujige,

    class

  FROM `score` 

  GROUP BY `class`

  3) 用PHP写入连接数据库("localhost","msuser","mspass")、执行以上SQL、显示结果、判断错误、关闭数据库的过程 

  $conn=mysql_connect(‘localhost’,'msuser’,’mspass′);

  Mysql_select_db(‘test’);

  $sql="SELECT

      sum(case when score >= 60 then 1 else 0 end) jige,

      sum(case when score < 60 then 1 else 0 end) bujige,

      class

     FROM `score` 

     GROUP BY `class`";

  if($result=Mysql_query($sql)){

         while($row=mysql_fetch_assoc($result)){

                print_r($row);

         }

  }

  Mysql_close($conn);

转载于:https://www.cnblogs.com/AngryBigCat/p/7277612.html

你可能感兴趣的文章
wangframe如何扩展?
查看>>
7.Spring Boot配置文件application.yml
查看>>
计算学校周次,亲测成功!
查看>>
Centos 7 可安装 mysql5.7
查看>>
雷神2—狂热视觉震撼
查看>>
node.js实现多图片上传
查看>>
could not bind to address 0.0.0.0:443 no listening sockets available, shutting d
查看>>
Node.js 开发相关
查看>>
JFinal源码--获取表单数据
查看>>
JSONP安全防范解决方案新思路
查看>>
Web 开发最有用的50款 jQuery 插件集锦——《综合篇》
查看>>
import com.sun.image.codec.jpeg.JPEGCodec不通过 找不到包
查看>>
adrci中的purge
查看>>
前台对Seajs的用法个人见解
查看>>
java中的队列同步器AQS -- AbstractQueuedSynchronizer
查看>>
centos 脚本基础练习9
查看>>
我的友情链接
查看>>
GET和POST,有什么区别
查看>>
Android内存优化
查看>>
windows 安全策略
查看>>