1. 如何使用 PHP 输出 “hello world”?
A. ?"Hello World";
B. ?echo "Hello World";
C. ?Document.Write("Hello World");
答案:B
2. 下面代码执行结果是?
<?php
FUNCTION TEST()
{
??? ECHO "HELLO WORLD!\n";
}
test();
?>
A. HELLO WORLD!
B. 没有任何输出
C. 编译错误,代码无法运行
D. hello world!
答案:A
解析:用户定义的函数和语言关键字对大小写不敏感。
3. 使用 PHP 创建注释的方法下面哪一种正确?
A. ?// 注释写在这里
B.? /* 注释写在这里 */
C. ?# 注释写在这里
D. 以上全部正确
答案:D
解析:这三个都是有效的,它们是从 C、C++ 和 shell 代码中借用的。
4. 在 PHP 中未定义的值的变量使用以下哪个关键字表示?
A. ?undef
B. ?null
C. ?None
D. ?PHP 中没有这样的概念
答案:B
解析:在 PHP 中,不区分大小写的关键字 NULL 用于表示变量没有定义值的情况。
5. 下面哪个选项用于声明常量?
A. ?constant
B.? define
C.? #pragma
D.? def
答案:B
解析:声明常量使用函数 define,例如:define(PAI,3.14); 也可以使用关键字const定义常量,例如:const PAI=3.14;
6. 以下代码打印的结果是?
<?php
$var = '0';
if ($var) {
??? echo 'true';
} else {
??? echo 'false';
}
?>
A. ?true
B.? false
答案:B
解析:字符串' 0' 是转换为布尔值的特殊情况,它转换为 false。
7. 执行以下代码,$var 的值是多少?
$var = 1 / 2;
A. ?0
B. ?0.5
C. ?1
答案:B
解析:PHP 中没有整数除法,所以它的值是 0.5。
8. 以下代码定义了一个数组,如何访问' d' 的值?
<?php
$a = array(
??? 'a',
??? 2 => 'b',
??? 1 => 'c',
??? 'd'
);
?>
A. ?$a[0]
B. ?$a[1]
C. ?$a[2]
D. ?$a[3]
答案:D
解析:'d' 的值为最大的整数索引+1。
9. 在 PHP 中,所有的变量以哪个符号开头?
A.? !
B. ?&
C. ?$
D.? @
答案: C
10. 如何从使用 “get” 方法提交的表单中获取数据?
A.? $_GET[];
B.? $_POST[];
C. ?Request.QueryString;
D. ?Request.Form;
答案:A
11. 在 PHP 中创建函数myFunction()的正确方法是?
A.? function myFunction()
B.? create myFunction()
C. ?new_function myFunction()
D.? function $myFunction()
答案:A
12. 给 $count 变量加 1 的正确方法是?
A.? ++count
B. ?$count++;
C. ?count++;
D.? $count =+1
答案:B
13. 以下程序段,打印的结果是?
<?php
$a = array();
if ($a == null) {
??? echo 'true';
} else {
??? echo 'false';
}
?>
A.? true
B. ?false
C.? 语法有错误
答案:A
解析:空数组转化为 null。
14. 以下程序段,打印的结果是?
<?php
if (null === false) {
??? echo 'true';
} else {
??? echo 'false';
}
?>
A.? true
B. ?false
C. ?语法有误
答案:B
解析:=== 是值相等且类型相同,false 属于布尔类型,而 null 属于特殊的 null 类型。
15. 以下打印的结果是?
<?php
$RESULT = 11 + 011 + 0x11;
echo "$RESULT";
?>
A.? 11
B.? 22
C.? 33
D. ?37
答案:D
解析:十进制加八进制加十六进制数,11 + 9 + 17 = 37
16. $var 的值是多少?
$var = true ? 1 : false ? 2 : 3;
A. ?1
B. ?2
C. ?3
答案:B ?
解析:三元运算符从左到右求值,先算 true?1:false | true 判断 等于 1
然后是1?2:3 , 1是true 判断所以$var值是 2
17. 以下打印的结果是?
<?php
if ('2' == '02') {
??? echo 'true';
} else {
??? echo 'false';
}
?>
A.? true
B. ?false
答案:A
注:数值字符串作为整数进行比较。
18. 以下打印的结果是?
<?php
$var = 'a';
$VAR = 'b';
echo "$var$VAR";
?>
A. ?aa
B.? bb
C. ?ab
答案:C
解析:变量名区分大小写
19. 下面关于代码的哪些陈述是正确的?
<?php
class A {}
class B {}
class C extends A, B {}
?>
A. 代码很规范
B. 类不能为空
C. 类 C 不能同时继承 A 和 B
D. 类定义中缺少修饰限定符 “public” 或 “private”
答案:C
解析:PHP中一个子类只能继承一个父类。
20. strpos() 函数的作用是什么?
A. 查找字符串的最后一个字符
B. 查找字符串在另一字符串中第一次出现的位置
C. 在字符串中搜索某个字符
D. 查找字符串在另一字符串中最后一次出现的位置
答案:B
解析:strpos() 函数查找字符串在另一字符串中第一次出现的位置,对大小写敏感。
21. GET 方法和 POST 方法的区别是什么?
A. GET 显示在地址栏 URL 中输入的表单值,而 POST 则没有。
B. POST 显示在地址栏 URL 中输入的表单值,而 GET 则没有。
C. 没什么区别。
答案:A
解析:GET 方式以显式提交表单,可以在 URL(地址栏)看见我们传的参数 POST 方式是隐式传值,不可见。
22. 如何在HTML <form> 中创建PHP数组?
A. <input name= MyArray[]/>
B. <input ="MyArray[]" />
C. <input name="MyArray[]" />
D. <input MyArray[] />
答案:C
解析:<input name=”MyArray[]”> 请注意在变量名后面的中括号,它就用来生成数组。
23. echo 和 print 有什么区别?
A. 它们的作用是一样的
B. print 可以接受多个参数,而 echo 不能
C. echo可以接受多个参数,而 print 不能
D. print 是一个函数,而 echo 不是
答案:C
解析:echo 可以输出多个字符串,print 只能输出一个字符串,它可以表现得像一个函数。
24. 用户 IP 地址存储在哪个变量中?
A. $_SERVER['DOMAIN']
B. $GLOBALS
C. $_ENV
D. $_SERVER['REMOTE_ADDR']
答案:D
解析:使用 $_SERVER[‘REMOTE_ADDR’] 获取客户端 IP。
25. 哪个函数用于去除字符串的开头和结尾空格 (或其他字符) ?
A. trim_str()
B. strip_str()
C. strip()
D. trim()
答案:D
解析:trim() 移除字符串两侧的空格,如果加参数,可以移除其他字符。
26. $_SESSION[] 的用途是什么 ?
A. 用于注册全局变量
B. 用于初始化会话
C. 用于存储当前会话的变量
D. 以上都不是
答案:C
解析:在 PHP 中,使用是通过预定义数组 $_SESSION 的存储和读取 session。
27. 关于Cookie 的描述正确的是?
A. Cookie 存储于用户本地磁盘上,里面保存着浏览器访问过的网页的一些信息(比如访问时间、地址等)。
B. Cookie 存储在服务端,用于数据交互。
C. PHP 不支持 Cookie 操作。
答案:A
28. 以下哪种类型的变量是只有一个值的特殊类型 NULL ?
A. 字符串
B. 整型
C. 布尔型
D. NULL
答案:D
解析:NULL 是一种特殊类型,只有一个值 NULL。
29. 下列哪个运算符用于连接两个字符串?
A.? .
B. ?+
C.? append
D. ?以上都不对
答案:A
解析:要将两个字符串变量连接在一起,请使用点(.)运算符。
30. 下面哪个函数用于生成随机数?
A.? srand()
B. ?rand()
C. ?random()
D. ?以上都不对
答案:B
解析:rand() 函数的作用是生成一个随机数,这个函数可以在给定的范围内生成数字。
31. 下面哪个函数用于检查PHP中是否已经设置了会话变量?
A.? session_start()
B. ?isset()
C. ?session_destroy()
D.? unset()
答案:B
解析:使用 isset() 函数检查是否已经设置了会话变量。
32. 下列哪个选项提供上传文件的实际名称?
A. ?$_FILES['file']['tmp_name']
B. ?$_FILES['file']['name']
C. ?$_FILES['file']['size']
D. ?$_FILES['file']['type']
答案:A
解析:$_FILES['file']['name'] 提供上传文件的实际名称。
33. 下面哪个选项用于销毁 session?
A . ?session_start()
B. ?$_SESSION[]
C. ?isset()
D. ?session_destroy()
答案:D
解析:session 可以由 session_destroy()函数销毁,也可使用使用 $_SESSION = array() 清空 $_SESSION 数组。
34. 下面哪个选项用于设置 cookie?
A. ?setcookie() 函数
B.? $HTTP_COOKIE_VARS 变量
C.? $_COOKIE 变量
D. ?isset() 函数
答案:A
解析:PHP提供了setcookie() 函数来设置Cookie。
35. 以下哪项关于 NULL 是正确的?
A.? NULL 是一种特殊类型,它只有一个值 NULL。
B. ?特殊的常量 NULL 按惯例大写,但实际上它不区分大小写
C. ?以上两个都正确
D.? 以上都不对
答案:C
解析:NULL 属于特殊类型,不区分大小写,只有一个值 NULL。
36. 下面哪种类型的变量是浮点数,比如 3.14159 或 49.1?
A.? integer
B. ?double
C. ?boolean
D.? string
答案:B
解析: integer – 整型,double – 浮点型,boolean – 布尔型,string – 字符串
37. 下面哪个函数使用 PHP 连接 MySQL 数据库?
A. ?mysql_connect()
B. ?mysql_query()
C. ?mysql_close()
D. ?以上都不对
答案:A
解析:PHP 提供 mysql_connect() 函数来打开数据库连接,新版本建议使用 MySQLi 或 PDO 来连接。
38. 下面哪个异常处理类的方法在发生错误时检索错误消息?
A.? getMessage()
B. ?getCode()
C.? getFile()
D.? getLine()
答案:A
解析:异常处理类方法 getMessage() 返回异常的消息。
39. 关于常量,下列哪个选项是正确的?
A. 常量与变量不同的是,名称前不需要一个带 $
B. 只有标量数据(布尔值、整数、浮点数和字符串)可以定义为常量
C. 以上都是
D. 以上都不是
答案:C
40. 下列哪个关键字用于引用类本身中的属性或方法?
A. ?protected
B. ?$this
C.? public
D. ?private
答案:B
解析:通过 $this 引用类本身中的属性或方法。
41. 下列表达式中,哪个不是有效的赋值运算符?
A. ?$b <= $b
B. ?$b *= $b
C. ?$b += $b
D. ?$b -= $b
答案:A
解析: < = 是比较运算符,不是赋值运算符。
42. 下面哪个选项可以用来获取通过 PHP 中的 GET/POST 方法发送的信息?
A.? $_REQUEST
B. ?$REQUEST
C.? $REQUEST_PAGE
D. ?以上都不是
答案:A
解析: $_REQUEST 变量可用于从 GET 和 POST 方法发送的表单数据中获取结果。
43. 下面哪个语句将用于从 MySQL 查询结果中获取单行记录?
A.? mysql_connect()
B. ?mysql_query()
C. ?mysql_fetch_array()
D. ?mysql_fetch_row()
答案:D
解析:mysql_fetch_row() 函数从结果集中取得一行作为数字索引数组。
44. 使用myslq扩展连接 MySql 数据库的正确语法是?
A . ?mysql_connect($username,$password)
B.? connect_mysql($username,$password)
C.? mysql_connect("localhost",$username,$password)
答案:C
解析:mysql_connect($hostname,$username,$password)。
45. 下面哪个关键字与 Exception 对象一起使用?
A.? final
B.? throw
C.? exception
D.? throws
答案:B
解析:异常(Exception)用于在指定的错误发生时改变脚本的正常流程,结合 try, throw 和 catch 使用。
46. 下列哪个关键字用于设置类是无法继承的?
A. ?final
B. ?break
C. ?end
D. ?stop
答案:A
解析:如果一个类被声明为 final,则不能被继承。
47. PHP 支持哪些循环语句?
A. ?while 循环
B. ?for 循环
C. ?do...while 循环
D. ?以上都支持
答案:D
48. 下列哪个函数检查数组中是否存在指定值?
A. ?key()
B. ?extract()
C. ?krsort()
D. ?in_array()
答案:D
解析:in_array() 函数搜索数组中是否存在指定的值。
49. PHP 数字索引数组下标以___开始 ?
A. ?0
B. ?1
C. ?2
D. ?以上都不对
答案:A
解析:索引数组下标从 0 开始。
50. PHP中以__(双下划线)开头的函数称为 ?
A. 自定义方法
B. 构造方法
C. 内置方法
D. 魔术方法
答案:D
解析:PHP 将所有以 __(两个下划线)开头的类方法保留为魔术方法。所以在定义类方法时,除了上述魔术方法,建议不要以 __ 为前缀。
51. 假设类名为 Myclass,下面哪个可以用来在 PHP 中实例化对象 ?
A. ?obj = new Myclass ();
B. ?$obj = new $Myclass;
C. ?$obj = new Myclass;
D. ?$obj = new Myclass();
答案:D
解析:通过 new 关键字实例化:$obj = new foo ();
52. 如果类是 myClass,下面哪个方法是调用类常量PI的正确方法 ?
A. ?echo myClass =PI;
B. ?echo myClass ::PI;
C. ?echo myClass ->PI;
D. ?echo PI;
答案:B
解析:通过 类名 :: 常量名 调用类常量。
53. 下列哪个函数可用于连接数组元素以形成一个带分隔符的字符串 ?
A. ?concatenate()
B. ?concat()
C. ?implode()
D. ?explode()
答案:C
解析:implode() 函数返回一个由数组元素组合成的字符串。
54. 下列哪个函数用于将数组构成get查询字符串?
A.? implode()
B.? explode()
C.? http_build_query()
D.? prepare()
答案:C
解析:http_build_query()函数用于将关联数组转换为GET查询字符串。
55. 下列哪个关键字用于从同一个类(而不是子类)访问静态方法或属性?
A.? set
B. ?self
C.? strat
D. ?static
答案:B
解析:self 可以访问本类中的静态属性和静态方法,可以访问父类中的静态属性和静态方法。用 self 时,可以不用实例化。
56. 下列哪个变量不能在静态方法中使用?
A. ?$date
B. ?$set
C. ?$get
D. ?$this
答案:D
解析:静态方法和属性又被称为类方法和类属性,因此不能在对象中使用伪变量 $this,可使用self。
57. 把所有 p 元素的背景色设置为红色的正确 jQuery 代码是?
A. ?$("p").manipulate("background-color","red");
B. ?$("p").layout("background-color","red");
C. ?$("p").style("background-color","red");
D. ?$("p").css("background-color","red");
答案:D
58. 通过 jQuery,$(“div.intro”) 能够选取的元素是?
A.? class="intro" 的首个 div 元素
B. ?id="intro" 的首个 div 元素
C.? class="intro" 的所有 div 元素
D.? id="intro" 的所有 div 元素
答案:C
59.通过 $("div#intro .head") 选择器选取哪些元素?
A. ?id="intro" 或 class="head" 的所有 div 元素
B. ?class="intro" 的任何 div 元素中的首个 id="head" 的元素
C. ?id="intro" 的所有 div 元素中的 class="head" 的所有元素
答案:C
60. 下面哪种 jQuery 方法用于设置被选元素的一个或多个样式属性?
A.? style()
B. ?html()
C.? css()
答案:C