admin 管理员组文章数量: 887021
2024年2月23日发(作者:樱花视频下载教程)
PHP核心课程测试题
一.单选题( 1’ x 50 = 50’ )
1. PHP是哪一种类型的语言( )
A. 编译型
B. 解释性
C. 两者都是
D. 两者都不是
2. 在用浏览器查看网页时出现404错误可能的原因是( )
A. 页面源代码错误
B. 文件不存在
C. 与数据库连接错误
D. 权限不足
3. 若x,y为int类型变量,则执行以下语句后,y的值为( )
$x = 1;
++ $x;
$y = $x++;
>
A. 1
B. 2
C. 3
D. 0
4. 下列代码执行后,输出结果正确的是( )
function sum( ){
$result = 1;
$result++;
}
sum( );
echo $result;
>
A. 1
B. 2
C. 运行错误
D. 都不对
5. 执行完以下代码后,变量$num的值为( )
$num = 10;
function demo($num){
$num= $num + 20;
}
demo (&$num);
echo $num;
>
A. 10
B. 20
C. 30
D. 显示错误
6. 以下程序运行结果为( )
function total_sum ($c = 5, $b = 3, $c){
echo $a.”+”.$b.”+”.$c.”=”.($a + $b + $c);
}
total_sum (1 );
>
A. 5 + 3 + 1 = 9
B. 1 + 5 + 3 =9
C. 提示错误,并有显示:+ 3 + 1 = 4
D. 9
7. 下面的脚步运行以后,$array数组所包含的值是( )
$array = array (‘1’, ’1’);
foreach ($array as $k => $v){
$v = 2
}
>
A. arra y (‘2’, ’2’)
B. array (1, 1)
C. array (2, 2)
D. array (null,null)
8. 查询名字中第2个字为“阳”的学生的姓名和学号,正确的是( )
A. Select Sname,Sno from student where Sname like ‘_阳%’;
B. Select Sname,Sno from student where Sname like ‘阳%’;
C. Select Sname,Sno from student where Sname like ‘_阳’;
D. Select Sname,Sno from student where Sname like ‘阳_%’;
9. 下面哪个函数可以打开一个文件,以对文件进行读和写操作?( )
A. fget()
B. file_open()
C. fopen()
D. open_file()
10. PHP是一种______脚本语言,基于______引擎。PHP常被用来开发动态的______内容,此为,它同样还可以被用来生成______(以及其它)文档。( )
A. 动态, PHP,数据库,HTML
B. 嵌入式,Zend,HTML,XML
C. 基于Perl的,PHP,Web,静态
D. 嵌入式,Zend,Docbook文档,MySQL
E. 基于Zend的,PHP,图像,HTML
11. 什么情况下声明函数时不能给参数赋默认值( )
A. 当函数只有一个参数时
B. 当函数是类中的成员时
C. 当参数是通过引用传递时
D. 永远不会
12. 借助继承,我们可以创建其他类的派生类,那么在PHP中,子类最多可以继承几个父类?( )
A. 一个
B. 两个
C. 取决于系统资源
D. 想要几个有几个
13. 如何在类的内部调用getName方法?( )
A. $self => getName( );
B. $this->getName( );
C. $current->getName( );
D. $this::getName( );
14. 以下代码是干什么的?( )
require_once "";
MyClass::myMethod();
>
A. 调用静态方法myMethod
B. 生成MyClass的实例并调用myMethod方法
C. 产生一个语法错误
D. 调用名为 MyClass::myMethod() 的方法
15. 以下脚本输出什么?( )
class Animal{
function Animal(){
echo "Animal called";
}
}
class Bird extends Animal{
function Bird(){
}
}
$bird = new Bird();
>
A. Animal called
B. 一个错误
C. 一个警告
D. 什么都没有
16. 以下脚本输出什么?( )
class Person{
var $name;
}
$a = new Person();
$a->name = "张三";
$b = $a;
$b->name = "李四";
echo $a->name;
>
A. 张三
B. 李四
C. Null
D. 什么都没有
17. 如果不给Cookie设置过期时间会怎样?( )
A. 立刻过期
B. 永不过期
C. Cookie无法设置
D. 在浏览器会话结束时过期
18. 在默认情况下,PHP把会话(SESSION)数据存储在_____里。( )
A. 文件系统
B. 数据库
C. 内存
D. 以上都不是
19. 假设浏览器没有重启,那么在最后一次访问后的多久,会话(SESSION)才会过期并被回收?( )
A. 1440秒后
B. 在_maxlifetime设置的时间过了后
C. 除非手动删除,否则永不过期
D. 除非浏览器重启,否则永不过期
20. 以下脚本输出结果是什么?( )
$arr = array('3'=>'a','1b'=>'b','c','d');
echo $arr[1];
>
A. a
B. b
C. c
D. 一个警告
21. 变量$email=****************,以下哪项能得到字符串?( )
A. substr($email, strpos($email, ‘@’));
B. strstr($email, ‘@’);
C. substr($email, strpos($email, ‘@’) + 1);
D. strrpos($email, ‘@’);
22. 如果用+操作符把一个字符串和一个整型数字相加,结果将怎样?( )
A. 解释器输出一个类型错误
B. 字符串将被转成数字,再与整型数字相加
C. 字符串将被丢弃,只保留整型数字
D. 字符串和整形数字将连接成一个新字符串
23. 以下脚本输出什么?( )
$x = "apple";
echo substr_replace($x,'x',1,2);
>
A. x
B. axle
C. axxle
D. applex
24. 函数_____能读取文本文件中的一行。读取二进制文件或者其他文件时,应当使用_____函数。( )
A. fgets(), fseek()
B. fread(),fgets()
C. fputs(),fseek()
D. fgets(),fread()
25. DESC在这个查询中起什么作用?( )
SELECT * FROM my_table
WHERE ID > 0
ORDER BY id, name DESC
A. id相同的记录按name升序排列
B. id相同的记录按name倒序排列
C. 返回的记录先按name排序,再按id排序
D. 结果集中包含对name字段的描述
26. 如果一个字段能被一个包含group by 的条件的查询语句读出,以下哪个选项的描述正确?( )
A. 该字段必须有索引
B. 该字段必须包含一个聚集值
C. 该字段必须是主键
D. 该字段不能包含NULL值
27. 以下查询输出什么?( )
SELECT COUNT(*) FROM table1 INNER JOIN table2
ON <>
A. table1和table2不相同的记录
B. 两个表中相同的记录
C. table1中的记录条数乘以table2中的记录条数再减去两表中相同的记录条数
D. 两表中不同记录的条数
28. 以下哪个说法正确?( )
A. 使用索引能加快插入数据的速度
B. 良好的索引策略有助于防止跨站攻击
C. 只有数字记录行需要索引
D. 应当根据数据库的实际应用按理设计索引
29. 下列哪个函数可以用于页面跳转?( )
A. redir( )
B. header( )
C. location( )
D. recirect( )
30. 当把一个有两个同名元素的表单提交给PHP脚本时会发生什么?( )
A. 他们组成一个数组,存储在超级全局变量数组中
B. 第二个元素的值加上第一个元素的值后存储在超级变量数组中
C. 第二个元素将覆盖第一个元素
D. 第二个元素将被自动重命名
31. 循环语句for($x = 2; $x > 10; $x--),循环次数是( )
A. 8次
B. 10次
C. 死循环
D. 0次
32. 执行如下代码,其输出结果是( )
$a = 3;
$b = 4;
$c = $a < 2 && $b++;
echo $b;
A. 4
B. 5
C. 出错
D. 都不是
33. 执行如下代码,结果是( )
$a = -3;
$b = 4;
echo $a | $b;
、
>
A. -3
B. 4
C. -7
D. 1
34. 执行如下代码,其结果为( )
switch ($i) {
case 0:
echo "i equals 0";
case 1:
echo "i equals 1";
case 2:
echo "i equals 2";
}
>
A. 程序出错
B. i equals 0
C. 输出i equals 0 i equals 1 i equals 2
D. 出现一个警告,并输出i equals 0 i equals 1 i equals 2
35. 执行如下代码,输出结果为( )
define("USER","root");
define("USER","admin");
echo USER;
>
A. root
B. admin
C. 出现一个警告,并输出root
D. 出现一个警告,并输出admin
36. 执行如下代码,输出结果为( )
$a = 3;
$b = &$a;
$b = null;
var_dump($a);
>
A. int(3)
B. NULL
C. 提示未定义变量错误
D. 都不对
37. 执行如下代码,输出结果为( )
$a = 3;
$b = &$a;
unset($b);
var_dump($a);
>
A. int(3)
B. NULL
C. 提示未定义变量错误
D. 都不对
38. 执行如下代码,输出结果分别为( )
$a = 5;
echo $a++ + $a++ + $a++;
$a = 5;
echo ++$a + ++$a + ++$a;
>
A. 17,20
B. 17,21
C. 18,20
D. 18,21
39. 执行如下代码,输出结果为( )
function foo($n){
if($n > 2){
foo($n--);
}
echo $n;
}
foo(5);
>
A. 5 4 3 2
B. 2 3 4 5
C. 2 2 3 4
D. 出错,死循环
40. 执行如下代码,输出结果为( )
$v1 = 1;
function test(){
global $v1;
unset($v1);
}
test();
echo $v1;
>
A. 1
B. 什么都没有
C. 出错
D. 以上都不对
41. 执行如下代码,输出结果为( )
$v1 = 1;
function test(){
unset($GLOBALS["v1"]);
}
test();
echo $v1;
>
A. 1
B.什么都没有,并提示一个警告
C. 出错
D. 以上都不对
42. 执行如下代码,输出结果为( )
function foo(){
static $a = 3;
$a++;
echo $a;
}
foo();
foo();
foo();
>
A. 3 3 3
B. 3 4 5
C. 4 4 4
D. 4 5 6
43. 下面哪一项不是PHP中面向对象的机制( )
A. 类
B. 属性、方法
C. 单一继承
D. 多继承
44. 以下是一个类的声明,对成员属性正确的赋值方式是( )
class Test{
private $a;
static $b;
function setA($a){
$this->a = $a;
}
}
$test = new Test();
>
A. $test->a = “abc”;
B. Test::$b = “abc”;
C. Test::setA(“abc”);
D. $test->b = “abc”;
45. 执行语句“ SELECT ('a'='a') AND ('c'<'d');”结果为 ( )
A. 1
B. 0
C. NULL
D. False
46. 使用下列哪个命令可以使结果表中除了匹配行外,还包括右表有的但左表中不匹配的行?( )
A. LEFT OUTER JOIN
B. RIGHT OUTER JOIN
C. NATURAL JOIN
D. INNER JOIN
47. 在使用union进行集合运算时,保留所有的纪录的关键字为( )
A. ALL
B. both
C. distinct
D. different
48. 消除查询结果中重复纪录的关键字为 ( )
A. distinct
B. limit
C. ALL
D. having
49. 主键的组成( )
A. 只有一个属性
B. 不能多于3个属性
C. 必须是多个属性
D. 一个或多个属性
50. MySQL数据库属于哪种数据模型( )
A. 层次模型
B. 网状模型
C. 关系模型
D. 逻辑模型
二.不定项选择( 1’ x 20 = 20’ )
1.
A.
B.
C.
D.
安装Web服务器程序后,在地址栏中输入( ),可以访问站点默认文档。
在局域网中直接输入服务器的IP地址
在局域网中直接输入服务器所在计算机的名称
如果是在服务器所在的计算机上,直接输入127.0.0.1
如果是在服务器所在的计算机上,直接输入127.0.0.1
2. 下面选项中,哪些属于URL的组成部分?( )
A. 传输协议
B. 主机
C. 端口
D. Internet
3. 下面哪些是SQL的聚合函数( )
A. AVG
B. SUM
C. MAX
D. CONCAT
E. COUNT
4. 取得查询语句的结果集中的记录函数有 ( )
A. mysql_fetch_row
B. mysql_fetch_assoc
C. mysql_num_rows
D. mysql_fetch_array
E. mysql_fetch_object
5. 要获取数组的大小,可以使用函数 ( )
A. list( )
B. count( )
C. length( )
D. sizeof( )
6. 下面哪些可以将 john 添加到users 数组中? ( )
A. $users[] = ‘john’;
B. array_add($users,’john’);
C. array_push($users,‘john’);
D. $users [“name”]= ‘john’;
7. 下面那些标签可以作为PHP起始/结束标记( )
A. <% %>
B. ?>
C. = ?>
D.
E. >
8. 下面哪些符合PHP语法?( )
A. $_10
B. ${“MyVar”}
C. &$var
D. $10_a
E. $aVar
9. 以下哪些是把整型变量$a的值乘以4?( )
A. $a *= pow(2, 2);
B. $a >>= 2;
C. $a <<= 2;
D. $a += $a + $a;
E. 一个都不对
10. 假设定义了一个Person类,它的构造函数的函数名是什么?( )
A. __construct
B. initialize
C. person
D. __Person
11. 脚本如何访问表单元素email的值?( )
A. $_GET[“email”]
B. $_POST[“text”]
C. $_POST[“email”]
D. $_REQUEST[“email”]
12. 以下脚本将如何影响$s字符串?( )
$s = 'Hello';
$ss = htmlentities($s);
echo $s;
>
A. 尖括号<>会被转成HTML标记,因此字符串将变长
B. 没有变化
C. 在浏览器上打印该字符串时,尖括号是可见的
D. 在浏览器上打印该字符串时,尖括号及其内容被识别为HTML标签,因此不可见。
13. 以下哪些可以把字符串$s1和$s2组成一个字符串?( )
A. $s1 + $s2
B. “{$s1}{$s2}”
C. $s1.$s2
D. implode(‘’, array($s1,$s2))
14. 以下哪些函数能读取文件的全部内容?( )
A. fgets( );
B. file_get_contents( );
C. fread( );
D. readfile();
E. file();
15. PHP支持下列哪些DBMS?( )
A. MySQL
B. IBM/DB2
C. PostgreSQL
D. Microsoft SQL Server
16. 下面哪些是面向对象的特征?( )
A. 抽象
B. 封装
C. 继承
D. 多态
17. 下面哪些描述是正确的?( )
A. 父类的构造函数与析构函数不会自动被调用
B. 成员变量需要用public、protected、private修饰,在定义变量时不再需要var关键字
C. 父类中定义的静态成员,不可以在子类中直接调用
D. 包含抽象方法的类必须为抽象类,抽象类不能被实例化
18. 关于抽象类和接口的对比分析,正确的有( )
A. 接口和抽象类都可以只声明方法而不实现
B. 抽象类可以定义常量,而接口不能
C. 抽象类可以实现具体的方法,而接口不能
D. 抽象类可以声明属性,而接口不能
19. 在B/S结构的web应用程序中包括( )组件。
A. 文件服务器
B. 浏览器
C. web服务器
D. 数据库服务器
20. 数据库xscj中有xs表,下列哪些语句可以执行( )
A. use xscj
B. use xs
C. rename table xs to xs1
D. rename database xscj to xscj1
三.编程应用题( 6’ x 5 = 30’ )
1. 给定一个数组如array(23,2,17,32,6,44),用PHP实现冒泡排序。
2. 一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去...,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。
3. 写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。
4. 有一个留言板,用mysql做数据库
用户信息包括:用户名,密码,email
留言内容包括:留言ID,标题,内容,发表时间,状态(审核,未审核)
请实现下列需求:
1)数据库结构。无需写建表语句,用类似下面的表格,描述清楚即可
表明
字段名
name
gender
table_aaa
字段说明
姓名
性别
字段类型
Varchar(64)
Enum(‘M’,‘F’)
索引
唯一索引
注意,要在索引栏中注明是否需要创建索引,以及要创建的索引的类型
2)用一个sql语句查询出发表留言数量大于10条的用户名及其留言数量,查询结果按留言数量降序排列。
5. 在某宾馆的宴会厅里,有4位朋友正围桌而坐,侃侃而谈。他们用了中、英、法、日4种语言。现已知:
A.甲、乙、丙各会两种语言,丁只会一种语言;
B.有一种语言4人中有3人都会;
C.甲会日语,丁不会日语,乙不会英语;
D.甲与丙、丙与丁不能直接交谈,乙与丙可以直接交谈;
E.没有人既会日语,又会法语。
请问:甲乙丙丁各会什么语言?要求写出推导过程。(IBM笔试题)
版权声明:本文标题:PHP面试题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1708676921h529145.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论