PHP 练习题

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

$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 = ‘[email protected]’;

$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语句。(     对  )

时间: 2024-10-06 09:04:05

PHP 练习题的相关文章

[Lab4-1]抓路由练习题

[Lab4-1]抓路由练习题 问题1: 用ACL抓取172.18.0.0/16----172.29.0.0/16的路由 答案: 172.16.0.0 0.15.255.255,看上去很完美,但实际上框的范围有些大. R1(f0/0)-(f0/0)R2 R1上的接口地址: R1#sh ip int b Interface IP-Address OK? Method Status Protocol FastEthernet0/0 12.1.1.1 YES NVRAM up up Loopback0

VBS练习题

练习题: 1.输入3个数,输出其中最大的那个值. Option Explicit Dim intA,intB,intC intA=CInt(InputBox("请输入a:")) intB=CInt(InputBox("请输入b:")) intC=CInt(InputBox("请输入c:")) If intA>intB And intA>intC Then MsgBox "最大值是:"&intA ElseIf

hdu 1166:敌兵布阵(树状数组,练习题)

敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 37773    Accepted Submission(s): 15923 Problem Description C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了.A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就

1007 数字逻辑练习题

1007: 数字逻辑练习题 时间限制: 1 Sec  内存限制: 128 MB提交: 264  解决: 59[提交][状态][讨论版] 题目描述 原码.反码.补码都是一样的,都是正数本身.  对于负数: 原码是符号位为 1,数值部分取绝对值的二进制. 反码是符号位为 1,其它位是原码取反. 补码是符号位为 1,其它位是原码取反,未位加 1.  输入一个 64bit 十进制整数,输出它的原码,反码,补码的 16 进制表示法 输入 有多组数据,每组数据一行,为一个 64bit 十进制整数,包含正负符

算法--三色排序练习题

三色排序练习题 第17节 三色排序练习题 有一个只由0,1,2三种元素构成的整数数组,请使用交换.原地排序而不是使用计数进行排序. 给定一个只含0,1,2的整数数组A及它的大小,请返回排序后的数组.保证数组大小小于等于500. 测试样例: [0,1,1,0,2,2],6 返回:[0,0,1,1,2,2] Java (javac 1.7) 代码自动补全 1 import java.util.*; 2 3 public class ThreeColor { 4 public int[] sortTh

十(1,5),十一单元练习题

<<<第十单元练习题>>>1.配置desktop主机和server主机的日志服务要求如下:*)desktop主机中的日志全部定向到/var/log/westos文件中*)时时同步desktop主机中的所有日志到server中 5.配置系统中的systemd-journal程序,使journal命令可以查看到关机前的日志 1. desktop主机: vim /etc/rsyslog.conf 重启rsyslog服务 ----------------------------

第十单元练习题

<<<第十单元练习题>>> 1.配置desktop主机和server主机的日志服务要求如下: *)desktop主机中的日志全部定向到/var/log/westos文件中 打开vim /etc/rsystem.conf 在55行 写入*.*     /var/log/westos *)时时同步desktop主机中的所有日志到server中 关闭desktop server中的防火墙 发送端: 接收端: 发送端打入:logger test messages 接收方打入:t

Python练习题 024:求位数及逆序打印

[Python练习题 024] 给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. ---------------------------------------------- 这题如果不用递归,实在太简单了!!!代码上: str = input('请输入一个不多于5位的正整数:') print('这个数字是%s位数,逆序为%s.' % (len(str), str[::-1])) 输出结果如下: 请输入一个不多于5位的正整数:45931这个数字是5位数,逆序为13954

第一单元练习题

<<<第一单元练习题>>> 1.用student用户登陆系统图形界面 2.打开一个bash 3.修改student的密码,把密码更新成"T3st1ngtlme"(主机字母和数字) psaawad student 4.显示当前系统时间 date 5.显示当前系统时间,显示格式为:"小时:分钟:秒 AM/PM"(AM/PM为上下午标识) date +%X%p 6.显示"/usr/bin/clean-binary-files&

【华为练习题】 最后一个单词的长度(初级)

[华为练习题] 最后一个单词的长度(初级) 题目 描述: 计算字符串最后一个单词的长度,单词以空格隔开. 题目类别: 字符串 输入: 一行字符串,长度小于128. 输出: 整数N,最后一个单词的长度. 样例输入: hello world 样例输出: 5 解答 #include <iostream> #include <string> using namespace std; int last_word_length(const string &s){ auto begin