Php基础知识测试题

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

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

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

A:Windows系统

B:Apache服务器

C:MySQL数据库

D:PHP语言

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

A:insert into users value(‘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)

A:需要客户安装客户端  CS

B:不需要安装就可以使用

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

D:不需要   服务器的系统 都需要

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

A:echo  同时输出多个字符串

B:print  每次只能输出一个 字符串

C:var_dump() 变量

D:print_r() 数组

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

A:var a = 5;JS

B: $a = 10;

C:int b = 6;强类型

D:var $a = 12;不需要有 var

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

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

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

C:单引号里面可以解析转义字符  单引号原样输出 无法解析

D:双引号里面可以解析变量 可以解析转义字符

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

$x = 1;

++$x;

$y =$x++;

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

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

A:implode( )方法可以  将字符串拆解为数组  将数组转化为字符串 /echo implode("--",$attr); //将数组元素拼接成一个字符串

B:str_replace()  查找替换 不 可以替换指定位置的字符串   substr_replace($str,"***",0,5); //替换指定位置的字符串

C:substr( )可以截取字符串   substr($str,0,5); //截取字符串

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

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

<?php

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

$second = explode(" ",$first); 用空格 拆分字符串  var_dump(explode("|",$str)); //拆分字符串,返回数组

$first = implode(",", $second); 用逗号 拼接 字符串 implode("--",$attr); //将数组元素拼接成一个字符串

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’;

$str = ____($email,‘@’);

$info = ____(‘.’,$str);

____($info);数组

?>

输出结果为:

Array ([0] => @thizlinux [1]=>com[2]=>cn)

A:strchr,  split,将字符串分割  var_dump 输出变量

B:strstr,截取字符串 将@ 符号之前的全部截取  explode, print_r 输出数组

C:strstr,explode, echo 输出字符串

D:strchr, split, var,_dump

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

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

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

C. 数组中的元素类型必顺一致

D. 数组的下标必须是连续的

在非PHP语言中 A C D 都正确

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

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

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

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

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

13、关于exit( )与die( )的说法正确的是(C D ) 使程序终止

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

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

C、die()函数等价于exit()函数 执行会停止执行下面的脚本

D、die()函数于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";
?>

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

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

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

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

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

<?php

function print_A(){

$A = "phpchina";

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

//return ($A); 若返回值 不被注释 选C

}

$B = 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;  全局变量

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;  & 取地址

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

?>

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 )

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”;可以输出数据不报错

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

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

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

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

D:for循环能够遍历关联数组  for循环遍历,只能遍历索引数组

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

A:OOP是面向对象的简称

B:静态成员是属于类的

C:普通成员是属于类的

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

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

A:public void Show(){ }

B:function Show($a=5,$b){  }

C:function Show(a,b){  }

D:function Show(int $a){  }

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);

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”);time 中不可以这么写

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

A:返回类型

B:函数名

C:参数列表

D:访问修饰符

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

A:@符号可以屏蔽所有错误
B:exit;后面的语句可以继续执行

C:10/4得出的结果是 2.5

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))

{

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取到
B:unset()方法不能删除数组里面的某个元素

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

D:php里面只有索引数组

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

A:模糊查询使用的关键字是like 
B:排序查询asc是降序,desc是升序  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中布尔类型数据只有两个值:真和假。(  对   )

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

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

print_r;专门打印数组的  不在程序中出现 调试错误

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

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

6.在php中“==”的意思是“等于”。(    对  )

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

8.“break ”代表的意思是跳出循环。(    对  )

9.若定义数组时省略关键字key,则第三个数组元素的关键字为3。( 错     )

因为索引从零开始 所以第三个数组元素的关键字为2

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

PHP 练习题的更多相关文章

  1. Linux基础练习题(二)

    Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...

  2. shell 脚本之 shell 练习题汇总

    整理了一些 shell 相关的练习题,记录到这里. 1. 请按照这样的日期格式 xxxx-xx-xx 每日生成一个文件,例如:今天生成的文件为 2013-09-23.log, 并且把磁盘的使用情况写到 ...

  3. MySQL练习题

    MySQL练习题 一.表关系 请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 3.查询平均成绩大于60分的同学的学号和平均成 ...

  4. MySQL练习题参考答案

    MySQL练习题参考答案 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 思路: 获取所有有生物课程的人(学号,成绩) - 临时表 获取所有有物理课程的人(学号,成绩) - 临时表 根据[ ...

  5. mysql练习题-查询同时参加计算机和英语考试的学生的信息-遁地龙卷风

    (-1)写在前面 文章参考http://blog.sina.com.cn/willcaty. 针对其中的一道练习题想出两种其他的答案,希望网友给出更多回答. (0) 基础数据 student表 +-- ...

  6. 【UOJ#228】基础数据结构练习题 线段树

    #228. 基础数据结构练习题 题目链接:http://uoj.ac/problem/228 Solution 这题由于有区间+操作,所以和花神还是不一样的. 花神那道题,我们可以考虑每个数最多开根几 ...

  7. 【Java EE 学习 28 下】【Oracle面试题2道】【Oracle练习题3道】

    一.已知程序和数据 create table test1 (id int primary key, name ), money int); ,); ,); ,); ,); 要求根据下图写出相应的sql ...

  8. 从一道NOI练习题说递推和递归

    一.递推: 所谓递推,简单理解就是推导数列的通项公式.先举一个简单的例子(另一个NOI练习题,但不是这次要解的问题): 楼梯有n(100 > n > 0)阶台阶,上楼时可以一步上1阶,也可 ...

  9. 《java编程思想》读书笔记 暂停一段时间,改为上面的练习题

    发现个很尴尬的现象.我一天实在看得太快了...全写下 写博客都得一晚上.. 之前因为是第一次看这么厚的书,别人都说很难,以为会看很慢的.然而,已经完全学过Java的 我感觉没啥压力,越看越快....第 ...

  10. 很不错的sql练习题(select)

      创建表和输入数据 CREATE TABLE STUDENT (SNO VARCHAR(3) NOT NULL,    SNAME VARCHAR(4) NOT NULL,    SSEX VARC ...

随机推荐

  1. Leetcode 16. 3Sum Closest

    Given an array S of n integers, find three integers in S such that the sum is closest to a given num ...

  2. Python 3.5源码编译安装

    系统环境:CentOS 6.8-Minimal 安装Python依赖包: [root@Python src]# yum install zlib-devel bzip2-devel openssl-d ...

  3. [bigdata] hadoop 参数配置解析

    ResourceManager相关配置参数 yarn-site.xml 中配置 yarn.resourcemanager.address ResourceManager 对客户端暴露的地址.客户端通过 ...

  4. Nginx配置(全)

    安装 * windows下:直接到官网下载windows下的稳定版本,解压到任意位置即可 * Linux下:一种方式是yum或者sudo apt-get install 另一种是源码编译安装,先安装p ...

  5. Netty源码分析之服务端启动过程

    一.首先来看一段服务端的示例代码: public class NettyTestServer { public void bind(int port) throws Exception{ EventL ...

  6. nginx_https

    nginx使用ssl模块配置HTTPS支持   默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖于OpenSSL库和一些引 ...

  7. 第4天--linux内核学习

    驱动使用方式1.编译到内核中 * make uImage进入到系统后mknod /dev/led c 500 0 创建设备节点 2.编译为模块 M make module进入到系统后 mknod /d ...

  8. COM 组件基础——GUID 和 接口

    一.前言 书接上回,话说在 doc(Word) 复合文件中,已经解决了保存 xls(Excel) 数据的问题了.那么,接下来又要解决另一个问题:当 WORD 程序读取复合文件,遇到了 xls 数据的时 ...

  9. Python中的if __name__='__main__'语句的作用

    笔者在自学Python的过程中,对于if __name__='__main__'的用法感到很困惑,在think Python一书中原作者的源代码是这么解释if __name__='__main__'语 ...

  10. touch

    Linux touch 命令   在 Linux 下运用 touch 命令创建一个空文件.当然我们也可以使用其他命令例如 vi, nano 或是任意一个编辑工具来实现.但是你可能需要更多的步骤来完成操 ...