php面试题随笔复习

第一部分选择题

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'];

答:

  $_SERVER['HTTP_USER_AGENT_TYPE'];

 

 

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

A. 服务器端脚本运行
B. 命令行脚本运行
C. 客户端图形界面(GUI)程序
D. 浏览器端执行DOM 操作

答:

  C. 客户端图形界面(GUI)程序
  D. 浏览器端执行DOM 操作

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

A. PHP 有四种标量类型:布尔型(boolean),整型(integer),浮点型(float),字符串(string)
B. 浮点型(float)与双精度型(double)是同一种类型
C. 复合类型包括:数组(array),对象(object),资源(resource)
D. 伪类型:混合型(mixed),数字型(number),回调(callback)

答:

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

  资源和NULL是特殊类型

 

04. 执行下面的代码后

 

<?php
echo function_exists('print');
?>
得到的输出是:
A. 空
B. true
C. false
D. FALSE

答: A

  print是语言结构不是函数

     function_exists()用于判断是否是函数,使用echo打印布尔值时,当结果为true时输出1,当结果为false时输出空。

 

05. 下面不是PHP 语法的组成部分的函数是:
A. array
B. eval
C. each
D. list

答:

  c

  abd是php的语言结构,c是系统函数

 

06. 执行下面的代码的结果是什么?
<?php
$bool = TRUE;
echo gettype($bool);
echo is_string($bool);
?>
A. boolean

B. boolean0

C. booleanFALSE
D. booleanfalse

答:A

  echo 打印 布尔类型时,结果为 true 时打印 1 , 结果为 false 时打印为空

 

07. 写出下面代码执行的结果:
<?php
$a = 12;
$b = 012
$c = 0x12;
echo $a,"\n",$b,"\n",$c;
?>

 答:

  12  10  18

08. 下面代码的执行结果是什么?
<?php
echo 1+2+"3+4+5";
?>
A. 0
B. 3
C. 6
D. "33+4+5";

 答:

  c  当字符串与数字相回时,字符串转整型,字符串的数字必须时连续的,否则不做计算,字符串中的第一个字符会被计算其他不做计算

 

09. 下面代码加入下面那个函数后返回TRUE:
return ? == 'A';

A. ord(65)
B. chr(65)
C. 65+''
D. ''+65

答:

  B   chr(65)  为 ASCII的值,这里是将数字转的成字符

 

10. 下面代码的输出正确的是:
<?php
$a = array(1=>5,5=>8,22,2=>'8',81);
echo $a[7];
echo $a[6];
echo $a[3];
?>
A. 空2281 B.空8122 C.8122 空D.空空空

答:

  C   当索引数组中有无下标的值时,系统会自动检测从数组下标中最大的值开始依次给未有下标的值进行添加下标。

 

11. 下面代码的输出结果:
<?php
$a[bar]='hello';
echo $a[bar];
echo $a['bar'];
?>
A. hello B. 空空C.报错D.hellohello

答:

   D  上面两种都是数组下标的写法,第二种是标准写法

 

12. 写出下面代码的结果:
<?php
echo 1>>0; //001 ==>1
echo 2>>1; //010 ==> 001=>1
echo 3<<2; //011 <== 01100 =>12
?>
A. 012 B. 106 C. 1112 D.123

答:

  C

 

13. 下面代码的执行结果:
<?php
for($i=0;i<10;$i++){
print $i;
}
?>
A. 0123456789 B. 012345678910 C. 无输出D. 死循环

答:  

  D     这里的执行条件 i 和 $i 不能成为约束循环条件,所以它们之间没有约束条件最后成为死循环

 

14. 下面对于echo, print 的描述正确的是:
A. echo, print 都可以打印多个参数
B. print 可以打印多个参数,echo 不可以
C. echo 可以打印多个参数,print 不可以
D. echo, print 都不可以打印多个参数

答:

  C   它们都可以打印变量,echo 可以打印多个变量值,print在同时打印多个变量值时会报错

 

15. 对于以下的代码
<?php
$fruits = array('strawberry'=>'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]";

答:

  ACD    B的问题在于在双引号之间使用了单引号来解析变量时就必须要使用花括号  ,  A 是标准写法

 

16. 下面代码执行完成后的结果是什么?
<?php
function change(){
static $i = 0;
$i++;
return $i;
}
print change();
print change();
?>
答:

  1   2 

    $i 为静态变量,循环累加调用

 

17. <?php
$foo = 'test';
$bar = <<<EOT
$foo bar
EOT;
echo $bar;
?>
上面的语句输出结果():.

a. $foo bar;
b. 'EOT' $foo bar EOT;
c. test bar;
d. 'EOT' test bar EOT;

答:

  C     

  heredoc 语法  它的做用是在它体内可以书写其它语言的结构,并且它可以以原代码格式输出显示

18. $a=3; $b=4;
if($a||$b=5){
echo 'tudo';
}
$b 的值是():
a. 4;
b. 5;
c. 3;
d. false

答:

  a  

  与运算,只有前面为真时才会执行后面

 

19.下面哪个表达式不能将两个字符串$s1 和$s2 串联成一个单独的字符串?( )
A.$s1+$s2 B.“{$s1}{$s2}” C.$s1.$s2
D. implode(‘’,array($s1,$s2)) E.以上所有的方法都能实现

答:

  A 

  在php中+ 号不能做为字符串的链接符,只能做为运算符

 

20.下面的脚本运行以后,$array 数组所包含的值是什么?( )
$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)

答:

  B 

  本次遍历并未针对原数组进行来进行更改,所以原数组的值不变,如果想要更改原数组的值可以对应数组下标来进行更改或使用&来引用变更

 

21.cron 后台常驻程序(daemon)用于:
A. 负责文件在网络中的共享
B. 管理打印子系统Manages theprinting subsystem
C. 跟踪管理系统信息和错误
D. 管理系统日常任务的调度(scheduing)

答:

  D 

  crontab是 linux的任务调度命令

 

22.怎么了解您在当前目录下还有多大空间?
A. Use df
B. Use du /
C. Use du.

D. Use df.

答:

  C

  Use df  是查看硬盘的空间使用率,分区类型,文件类型,光盘挂载程序和设备

  Use du / 是查看根目录的大小

  Use du. 查看当前目录的大小

 

23.有一个备份程序mybackup,需要在周一至周五下午一点和晚上八点各运行次,下面哪一
条crontab 的项可以完成这项工作?
A.0 13,20 * * 1,5 mybackup
B.0 13,20 * * 1,2,3,4,5 mybackup
C.*13,20 * *1,2,3,4,5, mybackup
D.0 13,20 1,5 * *mybackup

答:

  B

  分,时,日,月,周   , 未确定的时间用 * 符代替,+ 执行脚本 , 其中 1,2,3,4,5 可用 1-5来替用,

 

24.下面哪条命令可以把f1.txt 复制为f2.txt?
A.cp f1.txt f2.txt
B.cat f1.txt|f2.txt
C.cat f1.txt|f2.txt
B.copy f1.txt|f2.txt

答:

  A  

  linux的文件复制命令

 

25.使用命令可以查看Linux 的启动信息?
A.mesg –d
B.dmesg
C.cat /etc/mesg
D.cat /var/mesg

答:

  B

  linux中 只能 dmesg 是查看启动命令

 

26.在vi 中退出不保存的命令?

A.:qt
B.:r
C.:wq
D.:q!

答:

  D

  退出是q 退出不保存是q!

 

27.下面哪个选项没有将john 添加到users 数组中?
(a) $users[]='john';
(b) array_add($users,’john’);
(c) array_push($users,‘john’);
(d) $users ||= ‘john’; [ a , c ]

答:

  B,D

  A  未定义下标会在数组中找到最大索引来做来下标。

  B 语法不存在

  C 是从数组的最后一个下标来添加进去

  D 不在存在运算方法

 

28.下列不属于Javascript 语法关键/保留字的是:
A. var
B. $
C. function
D. while

答:

  B

29.下列不属于Javascrip DOM 操作事件的是:
A. onclick
B. onkeydown
C. onbodyload
D. onmouseover

签:

  C

   不存在的事件   ,只有 onload

 

30.下列PHP 函数中不能直接在页面输出字符串的函数是:
A. echo
B. sprintf
C. printf

答:

  B 

  sprintf 只能返回不能输出

 

31.在PHP 中,'+'操作符的功能不包括:
A. 字符串连接
B. 数组数据合并
C. 变量数据相加

答:

  A

 

 

  

 

posted on 2018-09-01 11:25  飞鱼流川  阅读(342)  评论(0编辑  收藏  举报

导航