2024年4月2日发(作者:)
php试题及答案五篇范文
第一篇:php试题及答案
php试题及答案
问题
1. 考虑如下脚本。标记处应该添加什么代码才能让脚本输出字
符串 php? $alpha = 'abcdefghijklmnopqrstuvwxyz';$letters =
array(15, 7, 15);foreach($letters as $val){/* 这里应该加入什么 */ } ?>
A.echo chr($val);B.echo asc($val);C.echo substr($alpha, $val,
2);D.echo $alpha{$val};E.echo $alpha{$val+1} 2. 以下哪一项不
能把字符串$s1 和$s2 组成一个字符串? A.$s1 + $s2
B.”{$s1}{$s2}” C.$s1.$s2 D.implode(”,
array($s1,$s2))E.以上都可以
3. 变 量 $email 的 值 是 字 符 串****************,把 字
符 串 转 化 成 ?
A.substr($email, strpos($email, “@”));
下 哪 项 能 以 B.strstr($email, “@”);C.strchr($email,
“@”);
D.substr($email, strpos($email,
“@”)+1);E.strrpos($email, “@”);
4. 给定一个用逗号分隔一组值的字符串,以下哪个函数能在仅
调用一次的情况下就把每
个独立的值放入一个新创建的数组? A.strstr()B.不可能只调用
一次就完成 C.extract()D.explode()E.strtok()5. 要比较两个字
符串,以下那种方法最万能? A.用 strpos 函数 B.用==操作符
C.用 strcasecmp()D.用 strcmp()6. 以下哪个 PCRE 正则表达式能
匹配字符串 php|architect? A..* B.…|……… C.d{3}|d{8}
D.[az]{3}|[az]{9} E.[a-z][a-z][a-z]|w{9} 7. 以下哪些函数能用来验
证字符串的完整性?(三选)
A.md5()B.sha1()C.str_rot13()D.crypt()E.crc32()8. 哪个
PHP 函数与以下脚本在 UNIX 系统下执行的效果近似? function
my_funct($filename){ $f = file_get_contents($filename);return
explode(“n”, $f);} ?>
A.fopen()B.fread()C.flock()D.split_string()E.file()9. 基于指
定的式样(pattern)把一个字符串分隔开并放入数组,以下哪些函数
能做到?(双 选)
A.preg_split()B.ereg()C.str_split()D.explode()E.chop()
10.以下脚本输出什么?
echo 'Testing '.1 + 2.'45';?> A.Testing 1245 B.Testing 345
C.Testing 1+245 D.245 E.什么都没有
11.以下脚本输出什么? $s = '12345';$s[$s[1]] = '2';echo $s;?>
A.12345 B.12245 C.22345 D.11345 E.Array 12.方框中的
正则表达式能与以下哪些选项匹配?(双选)/.**123d/
A.******123 B.*****_1234 C.******1234
D._*1234 E._*123 13.以下哪个比较将返回 true?(双选)
A.’1top’ == ’1′ B.’top’ == 0 C.’top’ === 0 D.’a’
== a E.123 == ’123′
14.如果用+操作符把一个字符串和一个整型数字相加,结果将
怎样? A.解释器输出一个类型错误
B.字符串将被转换成数字,再与整型数字相加 C.字符串将被丢
弃,只保留整型数字 D.字符串和整型数字将连接成一个新字符串
E.整形数字将被丢弃,而保留字符串
个 PHP 脚本使用______。A.include_once, include B.require,
include C.require_once, include D.include, require E.以上皆可
16.什么情况下声明函数时不能给参数赋默认值? A.当参数是
布尔值时 B.当函数是类中的成员时 C.当参数是通过引用传递时
D.当函数只有一个参数时 E.永远不会
17.______操作符在两个操作数中有一个(不是全部)为 True 时
返回 True。答案:____________ 18.全等运算符===如何比较两个值?
A.把它们转换成相同的数据类型再比较转换后的值 B.只在两者
的数据类型和值都相同时才返回 True 8 C.如果两个值是字符串,则
进行词汇比较 D.基于 strcmp 函数进行比较 E.把两个值都转换成字
符串再比较
19.以下哪个选项是把整型变量$a 的值乘以 4?(双选)A.$a
*= pow(2, 2);B.$a >>= 2;C.$a <<= 2;D.$a += $a + $a;E.一
个都不对
20.一段脚本如何才算彻底终止? A.当调用 exit()时 B.当执行
到文件结尾时 C.当 PHP 崩溃时
D.当 Apache 由于系统故障而终止时
答案
1. 唯一有意义的答案是 B。PHP 是一种基于 Zend 引擎的脚本
语言,它通常被嵌入在 HTML 代码中。它主要被用来开发 HTML 文档,
但是也可以用它来开发其他类型的文档,比 如 XML。
2. PHP 编程中,人们不太使用<% %>和两个标签,但它们确实
是合法的 PHP 界定符。
标签是非法的,因此正确的答案是 D。记住,根据 文件中
的配置不同,这
当中的某些标签无法在特定的情况下使用。
3. PHP 变量以一个美元符号为开头,后面跟上任意数量的数字、
字母和下划线。${“MyVar”}
是一个合法的变量名,它使用的是较松散的命名约定。
&$something 是对$something 的
引用。然而,变量名不能以数字为开头,$10_somethings 是非
法的,因此答案是 D。
4. 注意,$myarray 的键值并没有打上引号。所以,正在访问的
键不是 myvalue 字符串,而是常量 myvalue 的值。最终访问的是
$myarray[10],值是 Dog,答案是 A。5. 尽管 print()和 echo()在
绝大多数情况下可以互换使用,但它们之间还是有一处不同。
print()是函数,有返回值;echo()实际上是一个语言结构,没有
返回值,并且不能在表
达式中使用。因此,答案是 A。
6. %运算符表示取模,它返回两个操作数相除的余数。<<是左
移运算符,相当于乘以 2 的 N 次方。最后的答案乘以了一个浮点数,
改变了它的数据类型。但是,由于小数点
后是零,因此输出的结果不包含小数部分。答案是 256(D)。
7. 根据条件式的逻辑,要想得到 Hello, World!字符串,必须要
在第一个 if 结构中满足 else 的条件。因此$a 必须为 False,然后$b
也必须为 False。最内层的条件语句的实现要求
先前的两个变量($a 和$b)是 False,而$c 必须是 True(答案
是 D)。8. 正确答案是 C。从 PHP4.2.0 开始,除非已经给定了一个
伪随机整数列,否则不再需要
用 srand()函数初始化随机数生成器。此外,即使随机数生成器没
有被事先播种,脚本
仍然会生成 49 个伪随机字符。尽管$array 变量是字符串,但可
以用访问数组的方式进
行访问——使用数字索引访问某个位置上的字符。最后,for 循环
将从 1 开始执行到 50,也就是执行了 49 次。
9. 用一系列的 if…else 语句来检查一个条件的代码块,最适合用
switch 语句来替代。switch($a){ case 'a':
somefunction();break;case 'b': 10 anotherfunction();break;case 'c':
dosomething();break;default: donothing();} ?> 因为 if 语句中有一
个捕捉所有其他条件的 else,对应的,switch 代码块需要一个
default。正确答案是 E。
10.通常情况下,foreach 语句是遍历数组的首选。但是,由于
foreach 语句是在数组的副
本上进行操作,而我们需要给数组中每个元素重新赋值,所以在
这里 foreach 就不适用
了。尽管也可以用 while 循环和 do…while 循环,但由于数组是
顺序索引的,最合适的
语句还是 for 语句。因此答案是 A。
$myarray = array(“My String”, “Another String”, “Hi,
Mom!”);for($i = 0;$i < count($myarray);$i++){ $myarray[$i].=
“($i)”;} ?> 11.由于题目只允许填写一行代码,唯一合适的是 for 循
环,因此答案只能是 C 或者 D。
要选出能生成正确结果的 for 循环,我们必须先复习一下 for 循环
的构成要素。PHP 中,for 循环是这样声明的:
for(<初始化>;<继续执行,直到>;<重复执行>)<初始化>在循环
开始时执行一次,然后 for 循环开始执行大括号内的代码,直到<继续
执行,直到>的值为 False。每完成一次循环,执行一次<重复执行>。
因此,正确的代 码块应该是:
for($idx = 1;$idx < STOP_AT;$idx *= 2)答案是 C。
12.5 个选项中,只有两个是合法的 PHP 函数声明(A 和 D)。
在这两个选项中,只有一
个设置了参数的默认值——答案是 A。
13.本题考察 PHP 中变量作用域的相关知识。你必须明确
global 关键字是如何将变量引入
本地域的,以及$_GET、$_POST、$_COOKIE、$_REQUEST 等
超级全局变量的作用 域。本题中,最终的数学表达式是 5+25-25-10,
等于-5,答案是 B。14.函数能被以一个包含着函数名的变量后面加
上括号(以及必要的参数)的形式动态
调用。对于Group A来说,合适的索引组合是0,4,9,9,9,
9,产生字符串myfunction。
另一方面,参数将使用${}结构的可变变量。对Group B来说,合
适的索引应该是7 和8,等于${‘a’}$和{‘b’}——即$a和$b。因
此答案是D。
15.在较新版本的 PHP 中,require(或 requier_once())和
include()(或 include_once())只有
一个区别——如果包含的文件不存在,前者将产生一个致命错误,
同时终止脚本的执
行;而后者只会产生一个警告。因此答案 E 正确。
16.当参数被声明为通过引用传递时,你不能给它赋默认值,此
时解释器期望获得一个能
在函数内部进行修改的变量。答案是 C。17.正确答案是逻辑异
或(xor)运算符。18.全等运算符比较两个操作数的数据类型和值,
两者中有一个不同,都会返回 False。因 此答案是 B。
19.答案是 A 和 C。A 选项中,pow 函数计算 2 的平方,答案是
4。C 选项中,左移运算
符将$a 的值左移两位,相当于乘以 4。
20.答案是 A。一段脚本并不会在执行到文件末尾时终止,所以
当前文件才能被其他脚本
包含。至于 PHP 和 Apache 崩溃,这两个说法就太恶搞了。
第二篇:PHP笔试题+答案
程序开发 卷1
PHP程序员考题
考试说明:
1、试卷总分为100分。
2、本次考试时间为120分钟。
一、逻辑推理题(9分,每题3分)
夫妇请了Tom夫妇和Henrry夫妇来他们家玩扑克。这种
扑克游戏有一种规则,夫妇两个不能一组。Jack跟Lily一组,Tom的
队友是Henrry的妻子,Linda的丈夫和Sara一组。那么这三对夫妇
分别为:(B)A. Jack—Sara,Tom—linda,Henrry—Lily
B. Jack—Sara,Tom—Lily,Henrry—linda C. Jack—linda,
Tom—Lily,Henrry—Sara D. Jack—Lily,Tom—Sara,Henrry—
linda
2.有17根11.1米长的钢管,要截成1.0米和0.7米的甲、乙两种
长度的管子,要求截成的甲、乙两种管子的数量一样多。问:最多能
截出甲、乙两种管子各多少根?(C)A.99 B.105 C.111 D.121
3.一个水库在年降水量不变的情况下,能够维持全市12万人20
年得用水量。在该市新迁入3万人之后,该水库只够维持15年得用水
量。市政府号召节约用水,希望能将水库的使用寿命提高到30年。那
么该市市民平均需要节约多少比例的水才能实现政府制定的目标?(A)
A.2/5 B.2/7 C.1/3 D.1/4
二、PHP语言题(36分,每题3分)
1.语句for($k=0;$k=1;$k++);和语句for($k=0;$k==1;$k++);执
行的次数分别是(3分): A 无限和0 B 0和无限 C 都是无限 D 都是0 参
考答案:A
2.读取post方法传递的表单元素值的方法是(3分): A $_post[“名
称”] B $_POST[“名称”] C $post[“名称”] D $POST[“名称”] 参
考答案:B
3.下面哪个函数可以打开一个文件,以对文件进行读和写操作?(3
分)A fget()
程序开发 卷1
B file_open()C fopen()D open_file()参考答案:C
4.下面哪个选项没有将 john 添加到users 数组中?(3
分)(a)$users[] =
‘john’;(b)array_add($users,’john’);(c)array_push($users,‘jo
hn’);(d)$users ||= ‘john’;参考答案:B
是一种______脚本语言,基于______引擎。PHP最常被用来
开发动态的______内容,此外,它同样还可被用来生成______(以及其
他)文档。(3分)A.动态,PHP,数据库,HTML B.嵌入式,Zend,
HTML,XML C.基于Perl的,PHP,Web,静态 D.嵌入式,Zend,
Docbook文档,MySQL E.基于Zend的,PHP,图像,HTML 参考
答案:B
6.函数的形参与实参之间的数值传递方式有哪些?如何传递?(5
分)
答:(1)按值传递方式,将实参的值复制到对应的形参中,在函
数内部的操作针对形参进行,操作的结果不会影响到实参,即函数返
回值,实参的值不会改变。
(2)按引用传递方式,按引用传递方式就是引用将实参的内存地
址传递到形参中,这时在函数内部的所有的操作都会影响到实参的值,
返回后实参的值会发生变化,引用传递方式就是传递时在原基础上加
&号即可。
(3)默认函数(可选参数)。可选参数指定某个参数为可选参数,
将可选参数放在参数引表末尾,并且指定其默认值为空。
7.定义:$str=”a1b2c3”,请写出下面两种匹配的结果以及解释
一下两者的区别。(5分)
preg_match(‘/[w]*[d]+/i’),$str,$ary);echo
$ary[0];preg_match(‘/[w]*?[d]+/i’,$str,$ary);echo $ary[0];参考
答案:第一个输出为a1b2c3,第二个输出为a1。
区别主要是[w]*,后面有没有跟问号,PHP的正则匹配模式默认为
贪婪模式,即第一个模式,表示*取尽量多的匹配字符,第二个加了个限
定符?,为非贪婪(或懒惰模式),表示*取尽量少的匹配字符。(能
写出贪婪和懒惰的区别,正则表达式已经没大问题了。)
n和cookies 有什么区别?如果浏览器禁用了cookies,
session还可以使用吗?为什么?(5分)
参考答案:cookies存储在客户端,session存储在服务端。浏览
器禁用了cookies,session也不可以使用,因为sesession是需要客
户端发送一个sessionid到服务端,禁用了cookies,客户端就不能保
存此sessionid,session也失效了。(session是常用的,考察使用的
熟悉程度)
程序开发 卷1
二进制数据流是处理是用什么函数的?(4分)参考答案:
pack和unpack。(与服务端通信用到的解析方法)
10.求两个日期的差数,例如2009-3-1 ~ 2009-4-4 的日期差数?
(4分)答:(strtotime(‘2009-4-4’)-strtotime(‘2009-3-
1’))/3600*24
三、Linux操作题(20分,每题5分)1.请尽量写出你熟悉的
linux文件操作命令及其作用。
参考答案:自由发挥.基本的文件操作命令rm(移除),mv(移
动),cp(复制),chmod(改权限),pwd(查看当前路径),mkdir(创建目
录)ls(列举当前目录)2.3.4.简述linux下,rsync同步命令怎么实现无需
输入密码数据同步?(5分)
参考答案:在机器1上生成公钥私钥对,将生成的公钥复制至机
器2,加入到~/.ssh/id_。即可实现无密码同步。(同步没问题
了)
四、综合问答题(35分,每题5分),LNMP分别指什么?
参考答案:LAMP:linux,apache,mysql,php
LNMP:linux,nginx,mysql,php Linux文本编辑器vim(vi)命令行模式下
有:q,:w, /word ,?word表示什么? 参考答案::q退出,:w保存,/word
往下查找,?word往上查找.(熟悉linux编辑)linux怎么添加定时任务?
参考答案:crontab –e
2.11.请使用伪语言结合数据结构冒泡排序法对以下一组数据进行
排序 10 2 36 14 10 25 23 85 99 45。
答:
$str=’10 2 36 14 10 25 23 85 99
45′;$arr=explode(‘ ‘,$str);$count=count($arr);for($i=0;$i<$co
unt;$i++){ for($j=$i+1;$j<$count;$j++){ if($arr[$j]<$arr[$i]){ $te
mp=$arr[$i];$arr[$i]=$arr[$j];$arr[$j]=$temp;}
$str1=implode(‘ ‘,$arr);echo$str1;
3.简述mysql中union all,left join的用法。
程序开发 卷1
参考答案:Union all将两次或多次查询的结果合并。
Left join从左表那里返回所有的行,即使在右表中没有匹配的行。
(这两个能记住,mysql也比较熟了)
优化有什么方法?
参考答案:简单点的就是程序员写高质量的sql语句,数据库设计
优秀,按需要建立索引(重点)。深入点的,优化mysql配置。
} }
5.一个表中的Id有多个记录,把所有这个id的记录查出来,并显
示共有多少条记录数,用SQL语句及视图、存储过程分别实现。
create procedure proc_countNum(in columnId int,out
rowsNo int)begin select count(*)into rowsNo from member
where member_id=columnId;end call
proc_countNum(1,@no);select @no;方法:视图:
create view v_countNum as select member_id,count(*)as
countNum from member group by member_id select countNum
from v_countNum where member_id=1
6.请举例说明在你的开发过程中用什么方法来加快页面的加载速
度
参考答案:自由发挥题,言之有理即可(如:要用到服务器资源
时才打开,及时关闭服务器资源,数据库添加索引,页面可生成静态,
图片等大文件单独服务器。使用代码优化工具)。
7.对于大流量的网站,您采用什么样的方法来解决访问量问题? 参
考答案:确认服务器硬件是否足够支持当前的流量,数据库读写分离,优
化数据表,控制大文件的下载,使用不同主机分流主要流量确认服务器硬
件是否足够支持当前的流量,数据库读写分离,优化数据表,程序功能规则,
禁止外部的盗链,控制大文件的下载,使用不同主机分流主要流量。
第三篇:php试题
1.mysql_connect()与@mysql_connect()的区别是(B)
A
@mysql_connect()不会忽略错误,将错误显示到客户端 B
mysql_connect()不会忽略错误,将错误显示到客户端 C 没有区别
D 功能不同的两个函数
2.语句for($k=0;$k=1;$k++);和语句for($k=0;$k==1;$k++);
执行的次数分别是: A
A
无限和0
B 0和无限
C 都是无限
D 都是0
3.读取post方法传递的表单元素值的方法是: B
A
$_post[“名称”]
B $_POST[“名称”]
C $post[“名称”]
D $POST[“名称”]
4.php运算符中,优先级从高到低分别是()B
A
关系运算符,逻辑运算符,算术运算符
B 算术运算符,关系运算符,逻辑运算符
C 逻辑运算符,算术运算符,关系运算符
D 关系运算符,算术运算符,逻辑运算符
5.cookie的值存储在()C
A
硬盘中
B 程序中
C 客户端
D 服务器端
6.要查看一个变量的数据类型,可使用函数()B
A
type()
B gettype()
C GetType()
D Type()
7.字符串的比较,是按()进行比较。B
A
拼音顺序
B ASCII码值
C 随机
D 先后顺序
8.复选框的type属性值是()A
A
checkbox
B radio
C select
D check
9.SESSION会话的值存储在()D
A
硬盘上
B 网页中
C 客户端
D 服务器端
10.如果想取得最近一条查询的信息,应该使用哪个函数()A
A
mysql_info
B mysql_stat
C mysql_insert_id()
D mysql_free_result
11.要查看一个结构类型变量的值,可以使用函数()
D
A
Print()
B print()
C Print_r()
D print_r()
12.在PHP中哪个变量数组总是包含所有总客户端发出的
cookies数据(A
$_COOKIE
B $_COOKIES
C $_GETCOOKIE
D $_GETCOOKIES
13.下列哪个说法是错误的()D
A
gettype()是查看数据类型的B 没有被赋值的变量是0
C unset()是被认为NULL
D 双引号字符串最重要的一点是其中的变量名会被变量值替代
14.HTML中,超链接用的是什么标签 A
A
〈a>
B 〈table>
C 〈b>
D 〈head>
15.strtolower()函数的功能是()
A
upper 转为大写
A
将给定的字符串全部转换为小写字母
B 将给定的字符串全部转换为大写字母
C 将给定的字符串首字母转换为小写字母
D 将给定的字符串首字母转换为大写字母)A
16.HTML中,表格单元格的“值”是存储在()标签里
B
A
〈body>
B 〈td>
C 〈tr>
D 〈table>
REFDVCD
17.将一个值或变量转换为字符类型的函数是()B
A
intval()
B strval()
C str
D valint()
18.php中字符串的连接运算符是()
D
A
B +
C &
D.19.php函数不支持的功能有:
C
A
可变的参数个数
B 通过引用传递参数
C 通过指针传递参数
D 实现递归函数
20.文件框的type属性值是()C
A
text
B hidden
C textarea
D checkbox
21.运算符“^”的作用是()D
A
无效
B 乘方
C 位非
D 位异或
22.自定义函数中,返回函数值的关键字是()
A
returns
B close
A
C return
D back
23.24.要检查一个常量是否定义,可以使用函数()
A
A
defined()
B isdefin()
C isdefined()
D 无
25.关于mysql_select_db的作用描述正确的是()
A
连接数据库
B 连接并选取数据库
C 连接并打开数据库
D 选取数据库
26.HTML中,title标签放在什么位置
B
A
body标签里
B head标签里
C script标签里
D table标签里
27.使用()函数可以求得数组的大小
A


发布评论