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 = ‘langwan@thizlinux.com.cn’; 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)
A、当exit( )函数执行会停止执行下面的脚本,而die()无法做到 都可以
B、当die()函数执行会停止执行下面的脚本,而exit( )无法做到
C、die()函数等价于exit()函数
D、die()函数于exit()函数没有直接关系
die方法相当于封装,包含着exit方法
Exit( ) 和 die( ) 都是使程序退出,die:写法:die() 可以加提示die(“错了”) exit:写法:exit或者exit()
如果都想让两者提示:
Die( )括号里面可以写上提示内容,网页在输出提示内容后退出die(“出错了”);
Exit( )要在此方法前写上提示内容,网页在输出提示内容后退出echo “出错了”;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 1015
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");
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 ) 没有key则为索引数组
0 1 2
10.mysql数据库中查询数据用select语句。( T )
PHP测试题讲解(20161027)的更多相关文章
- 老男孩Python全栈第2期+课件笔记【高清完整92天整套视频教程】
点击了解更多Python课程>>> 老男孩Python全栈第2期+课件笔记[高清完整92天整套视频教程] 课程目录 ├─day01-python 全栈开发-基础篇 │ 01 pyth ...
- java泛型讲解
原文: https://blog.csdn.net/briblue/article/details/76736356 泛型,一个孤独的守门者. 大家可能会有疑问,我为什么叫做泛型是一个守门者.这其实是 ...
- PHP与API讲解(一)
了解API: 在使用与创建自己的API之前我们需要先了解什么是API! API代表应用程序编程接口,而接口指的是一个特定的服务.一个应用程序或者其他程序的公共模块. 理解SOA(面向服务的架构):SO ...
- 微信小程序(微信应用号)组件讲解
这篇文章主要讲解微信小程序的组件. 首先,讲解新建项目.现在有句话:招聘三天以上微信小程序开发,这个估计只能去挖微信的工程师了.技术新,既然讲解,那我们就从开始建项目讲解. 打开微信web开发者工具, ...
- 免费公开课,讲解强大的文档集成组件Aspose,现在可报名
课程①:Aspose.Total公开课内容:讲解全能型文档管理工具Aspose.Total主要功能及应用领域时间:2016-11-24 14:30 (暂定)报名地址:http://training.e ...
- EventBus总线讲解
在我们公司经常用到总线,具体的总线是什么让我理解我也不清楚,但是在这几个月下来,我已经知道总线如何使用,现在加上示例讲解总线如何使用. 1. 首先我们的新建一个类,这个类其实是用于总线传递的模型 us ...
- FTP的搭建与虚拟目录作用<之简单讲解>
操作系统:win7 VS2010编写WebService与在IIS的发布<之简单讲解>中我已经说了IIS安装与使用,不明白的可以跳过去看. 1.添加FTP站点 2. 3. 4. 5. zq ...
- Restful 介绍及SpringMVC+restful 实例讲解
restful不是一个框架,称为一种编码更烦更贴切吧,其核心类位于spring-web.jar中,即RestTemplate.class restful是rpc通过http协议的一种实现方式,和web ...
- 实例讲解react+react-router+redux
前言 总括: 本文采用react+redux+react-router+less+es6+webpack,以实现一个简易备忘录(todolist)为例尽可能全面的讲述使用react全家桶实现一个完整应 ...
随机推荐
- Canvas 图片灰度
我们可以通过下面几种方法,将其转换为灰度: 1.浮点算法:Gray=R*0.3+G*0.59+B*0.11 2.整数方法:Gray=(R*30+G*59+B*11)/100 3.移位方法:Gray = ...
- 记录UITextField删除状态
self.testTextField.leftView = [[UIView alloc] initWithFrame:CGRectMake(, , , )]; self.testTextField. ...
- Git合并分支命令:git merge --ff
今天研究了一下git merge命令常用参数,并分别用简单的例子实验了一下,整理如下: 输入git merge -h可以查看相关参数: --ff 快速合并,这个是默认的参数.如果合并过程出现冲突,G ...
- Android EventBus 3.0 实例使用详解
EventBus的使用和原理在网上有很多的博客了,其中泓洋大哥和启舰写的非常非常棒,我也是跟着他们的博客学会的EventBus,因为是第一次接触并使用EventBus,所以我写的更多是如何使用,源码解 ...
- 依赖lean cloud的注册与登录
前言 实现登录注册的基本功能,没有添加手机验证和邮箱验证的功能,有相应的方法,如果需要,可以自己加上其相应的方法 github的网址: 效果图: 正文 1.导入leancloud相应的第三方,这个等我 ...
- border-radius属性值参数详解
border-radius是CSS3设置圆角的一个属性,其属性值得单位可以使用:em.px.百分比等等.但是,border-radius属性值得参数形式有好多种,那么具体都代表什么意思呢?下面以实际例 ...
- Linux输入子系统(一) _驱动编码
输入设备都有共性:中断驱动+字符IO,基于分层的思想,Linux内核将这些设备的公有的部分提取出来,基于cdev提供接口,设计了输入子系统,所有使用输入子系统构建的设备都使用主设备号13,同时输入子系 ...
- rips中如何使用PHP虚拟机自带函数--token_get_all
这两天在看rips源码,发现,它在审计php代码时调用了php虚拟机自带的token_get_all此函数. 这一函数会将php源码按照内置的规则进行归纳,并输出成数组格式. 如: <?php ...
- [翻译]现代java开发指南 第二部分
现代java开发指南 第二部分 第二部分:部署.监控 & 管理,性能分析和基准测试 第一部分,第二部分 =================== 欢迎来到现代 Java 开发指南第二部分.在第一 ...
- UIView和layer的关系
UIView和layer的关系 UIView是layer的代理 View的根layer ---也就是说view本身自带一个layer, 这个layer 我们叫它根layer 所有视图显示是因为继承UI ...