PHP测试题讲解(20161027)

注:

关联数组

关联数组,它的每个 ID 键都关联一个值。在存储有关具体命名的值的数据时,使用数值数组不是最好的做法。通过关联数组,我们可以把值作为键,并向它们赋值。

例子 1

在本例中,我们使用一个数组把年龄分配给不同的人:

$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);

例子 2

本例与例子 1 相同,不过展示了另一种创建数组的方法:

$ages[‘Peter‘] = "32"; $ages[‘Quagmire‘] = "30"; $ages[‘Joe‘] = "34";

可以在脚本中使用 ID 键:

<?php

$ages[‘Peter‘] = "32";

$ages[‘Quagmire‘] = "30";

$ages[‘Joe‘] = "34";

echo "Peter is " . $ages[‘Peter‘] . " years old.";

?>

以上脚本的输出:

Peter is 32 years old.

关联数组

成员变量需要用public protected private修饰,在定义变量时不再需要var关键字

Php基础知识测试题

本试题共40道选择题,10道判断题,考试时间1个半小时

一:选择题(单项选择,每题2分):

1. LAMP具体结构不包含下面哪种(A )

L : Linux

A:Windows系统

B:Apache服务器

C:MySQL数据库

D:PHP语言

2. 以下哪个SQL语句是正确的(D)

A:insert into users values(‘p001’,’张三’,’男’);

B:create table (Code int primary key);

C:update users set Code=’p002’ where Code=’p001’;

D:select Code as ‘代号’ from users;做了一个别名

3. 以下哪种类型是B/S架构的正确描述( C     )

B/S架构  网页端           C/S架构 客户端

A:需要客户安装客户端  C/S

B:不需要安装就可以使用 (有些需要)

C:依托浏览器的网络系统

D:不需要服务器的系统   每一个程序都需要

4 . php中哪个语句可以输出变量类型(      C)

A:echo

B:print

C:var_dump()

D:print_r()

5 . php定义变量正确的是( B)

A:var a = 5;

B: $a = 10;

C:int b = 6;

D:var $a = 12;

6 . php中单引号和双引号包含字符串的区别正确的是( D)

A:单引号速度快,双引号速度慢

B:双引号速度快,单引号速度慢

C:单引号里面可以解析转义字符  双引号

D:双引号里面可以解析变量

7 . 若x,y为整型数据,以下语句执行的$y结果为(        B)

$x = 1;

++$x;   先加一再操作X

$y =$x++;

先操作X再对X加一,先把X赋值给Y,X再加一,所以最后X为3,Y为1

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

8 . php中关于字符串处理函数以下说法正确的是(    C     )

A:implode( )方法可以将字符串拆解为数组  合并

B:str_replace()可以替换指定位置的字符串  查找替换

C:substr( )可以截取字符串

D:strlen( )不能取到字符串的长度  能

9 . 以下代码运行结果为:( A    )

<?php

$first = "This course is very easy !";

$second = explode(" ",$first);   拆分

$first = implode(",", $second);  拼接

echo $first;

?>

A  This,course,is,very,easy,!

B  This course is very easy !

C  This course is very easy !,

D  提示错误

10 . 以下程序横线处应该使用的函数为:(  B)

<?php

$email = ‘[email protected]’;  11

$str = ____($email,‘@’); 截取@符号及以后的

$info = ____(‘.’,$str);  用explode拆分

____($info);

?>

输出结果为:

Array ([0] => @thizlinux [1]=>com[2]=>cn)  没有类型,用print r 输出的

A:strchr, split, var_dump

B:strstr, explode, print_r

C:strstr,explode, echo

D:strchr, split, var,_dump

11、下列说法正确的是:( B )

A.
数组的下标必须为数字,且从“0”开始  PHP有关联数组

B.
数组的下标可以是字符串 
关联数组

C.
数组中的元素类型必顺一致 
PHP可以存储任何数组

D.
数组的下标必须是连续的 
关联数组或删掉中间的任意一个

12、下面哪项描述是错误的?(  A         C)

A.
父类的构造函数与析构函数不会自动被调用  会

B.
成员变量需要用public protected private修饰,在定义变量时不再需要var关键字

C.
父类中定义的静态成员,不可以在子类中直接调用  加关键字parent

D.
包含抽象方法的类必须为抽象类,抽象类不能被实例化

13、关于exit( )与die( )的说法正确的是(C)

Exit( ) 和 die( ) 都是使程序退出

Die(
)括号里面可以写上提示内容,网页在输出提示内容后退出die(“出错了”);

Exit( )要在此方法前写上提示内容,网页在输出提示内容后退出echo “出错了”;exit ;

A、当exit( )函数执行会停止执行下面的脚本,而die()无法做到  都可以

B、当die()函数执行会停止执行下面的脚本,而exit( )无法做到

C、die()函数等价于exit()函数

D、die()函数于exit()函数没有直接关系    die方法相当于封装了,包含着exit方法

使程序退出   die:写法:die() 可以加提示die(“错了”)  exit:写法:exit或者exit()

14、下面程序运行结果( B )

<?php

$nextWeek = time() + (7 * 24 * 60 * 60); 
当前时间加上了七天的时间

echo ‘Now: ‘. date(‘Y-m-d‘)
."\n";

echo ‘Next Week: ‘. date(‘Y-m-d‘, $nextWeek) ."\n";

?>

\n  匹配一个换行符

A、得到今天的日期(月-日)

B、得到今天的日期(年-月-日)与下周的日期(年-月-日)

C、得到现在的时间(小时-分-秒)

D、得到现在到下周的时间间隔

15、以下代码执行结果为:(
D )

<?php

function print_A(){

$A = "phpchina";

echo "A值为:
".$A."<p>";

//return
($A); 返回值备注释了

}

$B = print_A(); 接收A的返回值,但是print_A()的返回值被注释了,所以返回值为空

echo "B值为:
".$B."<P>";

?>

A  A值为:

B值为:

B  A值为:

B值为: phpchina

C  A值为: phpchina

B值为: phpchina

D  A值为: phpchina

B值为:

16、以下代码执行结果为:(
 C)

<?php

$A="Hello
";

function
print_A()

{

$A = "php mysql !!";

global $A;

一般来说,变量都是有作用域的。函数相当于一块独立的区域,在函数外面定义的变量A  $A="Hello ";  在函数里面是取不到变量A的 。但是如果把A定义成全局变量,那么这个A在任何一个地方都是可以访问的

把A定义成全局变量,在函数里也可以取变量A,前面定义的$A = "php mysql !!";

就不管用了,但是放到 全局变量 global $A; 后面就可以了

echo $A;

}

echo
$A;

print_A();

?>

A
Hello

B
php mysql !!

C
Hello Hello

D
Hello  php mysql !!

17、以下代码输出的结果是(B    )

$a = "aa";

$aa = "bb";

echo  $$a;

A
aa

B
bb

C
$aa

D
$$a

18、以下代码输出的结果是(A)

<?php

$a = 10;

$b =
&$a;  &$a 取了A的地址    a和b都指向了一个地方,这个地方存了一个10

echo $b;

$b = 15;

echo $a;  因为两个变量指向的是同一个地方,修改一个变量,另一个也随着改变

?>

A
0151

B
1010

C
1515

D
1510

19、php输出拼接字符串正确的是(   C     )

A
echo $a+”hello”

B
echo $a+$b

C
echo $a.”hello”

D
echo ‘{$a}hello’ 双引号就可以,可以解析变量

20、在用浏览器查看网页时出现404错误可能的原因是
(  B)

A
页面源代码错误

B
文件不存在

C
与数据库连接错误

D
权限不足

21、以下代码输出的结果为(D    )

<?php

$attr
= array("0"=>"aa","1"=>"bb","2"=>"cc");  11字符串

echo
$attr[1];  因为PHP是弱类型语言所以字符串1自动转化成了数字1

?>

A
会报错!

B
aa

C
输出为空

D
bb

22、面向对象的三大特性中哪个不属于封装的做法( B)

A
将成员变为私有的

B
将成员变为公有的

C
封装方法来操作成员

D
使用__get()和__set()方法来操作成员

23、php的源码是(      A)

A.开放的    B.封闭的    C.需购买的     D.完全不可见的

24、php如何输出反斜杠(D) 转义字符

A.\n  换行  B.\r 回车  C.\t 制表符   D.\\

25、下列哪项不属于OOP的三大特性(      B)  OOP面向对象

A:封装      B:重载        C:继承        D:多态

26、以下关于字符串的说法正确的是(       C)

A:echo “hello\nworld”;  在源代码可以实现换行在页面上无效

B:echo ‘helloworld{$a}’;可以解析变量a的值  双引号可以

C:$str=<<<AA   定义字符串的第三种方式

Hello
world

AA;

该方式可以定义字符串

D:print $a,”hello”;可以输出数据不报错  用echo就不会,可以输出多个字符串,print只能输出一个

27、下列说法不正确的是(  D     )

A:list()函数可以写在等号左侧  唯一一个

B:each()函数可以返回数组里面的下一个元素

C:foreach()遍历数组的时候可以同时遍历出key和value

D:for循环能够遍历关联数组   不能

28、关于面向对象的说法不正确的是(       C)

A:OOP是面向对象的简称

B:静态成员是属于类的

C:普通成员是属于类的  属于对象的

D:类里面的$this关键字代表该对象本身

29、下列定义函数的方式是正确的(   B)

A:public void Show(){  }   是JAVA和C#的定义方式

B:function Show($a=5,$b){  }  默认值的定义方式

C:function Show(a,b){  }   少了$

D:function Show(int $a){  }  多了int

30、下面哪个选项没有将 john 添加到 users 数组中? (   B)

A.
$users[] = "john";   会在数组末尾添加上

B.
array_add($users, "john");  没有此方法

C.
array_push($users, "john");  往数组添加一个元素

D.
$users [“aa”]= "john" ;

31、php中以下能输出1到10之间的随机数的是(C)

A:echo rand();

B:echo rand()*10;

C:echo rand(1,10);    echo rand(最小值,最大值);

D:echo rand(10);

32、php中以下能输出当前时间格式像:2016-5-6 13:10:56 的是(A)

A:echo date(“Y-m-d H:i:s”);

B:echo time(); 取时间戳

C:echo date(); 要有参数

D:echo time(“Y-m-d H:i:s”);  不要参数

33、以下哪项不属于函数的四要素(   D)

A:返回类型

B:函数名

C:参数列表

D:访问修饰符  函数体

34、以下说法正确的是(      C)

A:@符号可以屏蔽所有错误    只能屏蔽notice和warning

B:exit;后面的语句可以继续执行  不可以

C:10/4得出的结果是 2.5  弱类型,如果是强类型,输出的是2

D:$$a;这种写法是错误的     正确

35、以下关于构造函数说法不正确的是(    B     )

A:研究一个类,首先我们要研究的函数是构造函数

B:构造函数写法和普通函数没有区别   写法特殊,执行方式特殊

C:构造函数执行比较特殊

D:如果父类中存在构造函数并且需要参数,子类在造对象的时候也应该传入相应的参数。

36、以下关于多态的说法正确的是(          D)

A:多态在每个对象调用方法时都会发生  没有满足条件

B:多态是由于子类里面定义了不同的函数而产生的

C:多态的产生不需要条件

D:当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,在父类引用调用相应的函数的时候表现出的不同称为多态。

37、以下代码在页面上会输出多少行数据(A     )

$attr
= array(1,2,3,4);

while(list($key,$value)
= each($attr))

each,取完之后指针向下走一个,第一个while循环走完后就退出了,第二个循环没有执行

{

echo
$key."=>".$value."<br>";

}

while(list($key,$value)
= each($attr))

{

echo
$key."=>".$value."<br>";

}

A:4    B:6    C:8    D:12

38、以下说法正确的是(C   )

A:$attr代表数组,那么数组长度可以通过$attr.length取到

Count是php的语法     .length是js的语法

B:unset()方法不能删除数组里面的某个元素

C:php的数组里面可以存储任意类型的数据

D:php里面只有索引数组      还有关联数组

39、以下说法不正确的是(  B     )

A:模糊查询使用的关键字是like

B:排序查询asc是降序,desc是升序

C:分页查询使用的关键字是limit

D:mysql如果只安装服务不安装界面也可以正常使用

40、以下代码输出的结果为(      D)

$a = "cc";

$cc =
"dd";

echo  $a=="cc" ? "{$$a}":$a; 可变变量,三元运算符

A:cc

B:$a

C:$$a

D:dd

二、判断题(共10题,每题2分)

 

1.php中布尔类型数据只有两个值:真和假。(  T  )

2.php中连接两个字符串的符号是“+ ”。(   F  )

3.php可以使用“scanf”来打印输出结果。(   F  )

4.每个语句结尾都要加“;”来表示语句结束。 (   T  )

5.php变量使用之前需要定义变量类型。(  
F )不需要

6.在php中“==”的意思是“等于”。(  
T  )一个是赋值,两个是等于

7.while和do-while语句都是先判断条件再执行循环体。(   F  )  do-while  先执行后判断

8.“break ”代表的意思是跳出循环。(   T  ) continue;跳出本次循环,即跳出第几次循环;break则为全部跳出  如果在循环中加判断条件,这次不想走就用continue跳出,跳出之后下次还会走,如果是break就全部跳出了

9.若定义数组时省略关键字key,则第三个数组元素的关键字为3。(  F  )11  没有key则为索引数组
0 1 2

10.mysql数据库中查询数据用select语句。(   T  )

时间: 2024-10-08 21:03:53

PHP测试题讲解(20161027)的相关文章

C以及Objective-C测试题讲解(下)

接前天的博客,今天继续讲解后27题.测试题地址:http://www.eosgarden.com/en/articles/objc-quizz/take/ 31.Which of the following can be inherited? 以下哪些可被继承? 答案:protocols,classes.协议和类 说明:要注意categories无法被继承. 32.How do you throw an exception? 如何抛出异常? 答案:@throw e 说明:Object-C语言的异

C以及Objective-C测试题讲解(上)

测试地址:http://www.eosgarden.com/en/articles/objc-quizz/take/ 这是前几天好友共享的Obj-C测试题,共57题.自以为精通OC了的本人去做了下测试题,结果受到了较为严重的精神打击,考点非常细,有些甚至非常底层.准备分2次讲解这些题目,下面逐个讲解这些考题.其中有一些题目笔者自身也有一些疑问,欢迎探讨. 1.What is "Nil" in Objective-C? “Nil”在OC中是什么? 答案:(void *)0 说明:'NUL

2020奕诚国家电网考试资料全套视频

链接:https://pan.baidu.com/s/1npAYuq7Yg6zSrdiQ55oVyA 提取码:ub4t 复制这段内容后打开百度网盘手机App,操作更方便哦 2020奕诚国家电网考试视频资料 综合(行测)(高清完整版) 2020奕诚国家电网考试视频资料 电路(高清完整版) 2020奕诚国家电网考试视频资料电工类 电分(高清完整版) 2020奕诚国家电网考试视频资料 继保(高清完整版) 2020奕诚国家电网考试视频资料 龙腾分科测试题讲解 电路 (高清完整版) 2020奕诚国家电网考

拓扑排序讲解

在这里我们要说的拓扑排序是有前提的 我们在这里说的拓扑排序是基于有向无环图的!!!. (⊙o⊙)…我所说的有向无环图都知道是什么东西吧.. 如果不知道,我们下面先来来说说什么是有向无环图. 所谓有向无环图,顾名思义是不存在环的有向图(至于有向图是什么不知道的在前面我们有一个图论讲解上都有). 点的入度:以这个点为结束点的边数. 点的出度:以这个点为出发点的边的条数. 拓扑序就是对于一个节点的一个排列,使得(u,v)属于E,那么u一定出现在v的前面.然而拓扑排序就是一个用来求拓扑序的东西. 对于左

形象易懂讲解算法I——小波变换

https://zhuanlan.zhihu.com/p/22450818?refer=dong5 最早发于回答:能不能通俗的讲解下傅立叶分析和小波分析之间的关系? - 咚懂咚懂咚的回答现收入专栏. 从傅里叶变换到小波变换,并不是一个完全抽象的东西,可以讲得很形象.小波变换有着明确的物理意义,如果我们从它的提出时所面对的问题看起,可以整理出非常清晰的思路. 下面我就按照傅里叶-->短时傅里叶变换-->小波变换的顺序,讲一下为什么会出现小波这个东西.小波究竟是怎样的思路.(反正题主要求的是通俗形

vim编辑器讲解

--vim编辑器讲解(vim(vi的升级版),推荐vim) 打开文件(如果该文件不存在,则创建之后,保存,从内存写到硬盘上,不保存,则删除掉该文件) vim filename vim编辑器有3中模式:命令模式,插入模式,尾行模式. 命令模式:刚进入文件的时候开始的状态.u为撤销键 命令模式进入插入模式:可以通过快捷键 i(当前光标位置插入) I(本行的开头) a(当前光标位置之后) A(当前光标所在最后) o O 插入模式返回命令模式:ESC 插入模式:主要用来编辑文本的. 尾行模式:主要用来,

Smarty 函数讲解

这里给大家总结了几种Smarty 函数并分别详细讲解了.如果你正在学习Smarty  ,希望这篇文章对你有用. html_checkboxes 自定义函数 html_checkboxes 根据给定的数据创建复选按钮组. 该函数可以指定哪些元素被选定. 要么必须指定 values 和 ouput 属性,要么指定 options 替代. 所有的输出与 XHTML 兼容 html_checkbox用来用给定的数据创建checkbox.name表示checkbox的名称,values表示checkbox

ThinkPHP讲解(一)框架基础

ThinkPHP框架知识点过于杂乱,接下来将以问题的形势讲解tp(ThinkPHP的简写) 1.tp框架是什么,为什么使用是它? 一堆代码的集合,里边有变量.函数.类.常量,里边也有许多设计模式MVC.AR数据库.单例等等.框架可以节省我们50-60%的工作量,我们全部精力都集中在业务层次. 为什么使用框架 框架可以帮组我们快速.稳定.高效搭建程序系统 该系统由于框架的使用使得本身的维护性.灵活性.适应客户需求方面得到最大化的增强. 使用框架的过程中可以使得我们的注意力全部集中业务层面,而无需关

nfs 深度讲解及inotify

目  录 第1章共享目录的挂载及参数mount1 1.1挂载nfs下共享的data目录... 1 1.2 查看挂载的目录... 2 1.3 mount 挂载的参数... 2 1.3.1 mount –o 参数对用的选项... 3 1.3.2 man mount后的-o参数中英文翻译对比... 3 1.4 Mount挂载性能优化参数选项... 4 第2章 NFS深度讲解... 5 2.1 NFS内核优化建议... 5 2.2 服务端nfs内核优化... 5 2.3 企业生产场景NFS共享存储优化小