第一篇:php试题(大全)
1.写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名
例如: http:// 语言中,页面头部的 meta 标记可以用来输出文件的编码 格式,以下是一个标准的 meta 语句
请使用 PHP 语言写一个函数,把一个标准 HTML 页面中的类似 meta 标记中的 charset 部分值改为 big5 请注意:(1)需要处理完整的 html 页面,即不光此 meta 语句(2)忽略大小写
(3)„ 和 ” 在此处是可以互换的
(4)„Content-Type‟ 两侧的引号是可以忽略的,但 „text/html;charset=gbk‟ 两侧的不行(5)注意处理多余空格
3.写一个函数,算出两个文件的相对路径 如 $a = „/a/b/c/d/e.php‟;$b = „/a/b/12/34/c.php‟;
计算出 $b 相对于 $a 的相对路径应该是../../c/d将()添上
4.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。5.简述论坛中无限分类的实现原理。
6.设计一个网页,使得打开它时弹出一个全屏的窗口,该窗口中有一个文本框和一个按钮。用户在文本框中输入信息后点击按钮就可以把窗口关闭,而输入的信息却在主网页中显示。简述题(50分)
1、用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分)
2、echo(),print(),print_r()的区别(3分)
3、能够使HTML和PHP分离开使用的模板(1分)
5、使用哪些工具进行版本控制?(1分)
6、如何实现字符串翻转?(3分)
7、优化MYSQL数据库的方法。(4分,多写多得)
8、PHP的意思(送1分)
9、MYSQL取得当前时间的函数是?,格式化日期的函数是(2分)
10、实现中文字串截取无乱码的方法。(3分)
11、您是否用过版本控制软件? 如果有您用的版本控制软件的名字是?(1分)
12、您是否用过模板引擎? 如果有您用的模板引擎的名字是?(1分)phperz.com
13、请简单阐述您最得意的开发之作(4分)
14、对于大流量的网站,您采用什么样的方法来解决访问量问题?(4分)
15、用PHP写出显示客户端IP与服务器IP的代码1分)
16、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们?(2分)
17、如何修改SESSION的生存时间(1分).18、有一个网页地址, 比如PHP开发资源网主页: http://,如何得到它的内容?($1分)
19、在HTTP 1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用 header 函数,其语句为(?);(2分)
12、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?(1分)
13、谈谈asp,php,jsp的优缺点(1分)
14、谈谈对mvc的认识(1分)
15、写出发贴数最多的十个人名字的SQL,利用下表:members(id,username,posts,pass,email)(2分)16.请说明php中传值与传引用的区别。什么时候传值什么时候传引用?(2分)php程序员站
17.在PHP中error_reporting这个函数有什么作用?(1分)18.请写一个函数验证电子邮件的格式是否正确(2分)19.简述如何得到当前执行脚本路径,包括所得到参数。(2分)20.如何修改SESSION的生存时间.(1分)
21、JS表单弹出对话框函数是?获得输入焦点函数是?(2分)
22、JS的转向函数是?怎么引入一个外部JS文件?(2分)
23、foo()和@foo()之间有什么区别?(1分)
24、如何声明一个名为”myclass”的没有方法和属性的类?(1分)
25、如何实例化一个名为”myclass”的对象?(1分)
26、你如何访问和设置一个类的属性?(2分)
27、mysql_fetch_row()和mysql_fetch_array之间有什么区别?(1分)
28、GD库是做什么用的?(1分)
29、指出一些在PHP输入一段HTML代码的办法。(1分)30、下面哪个函数可以打开一个文件,以对文件进行读和写操作?(1分)(a)fget()(b)file_open()
(c)fopen()
(d)open_file()www.xiexiebang.com
31、下面哪个选项没有将 john 添加到users 数组中?(1分)(a)$users[] = „john‟;
(b)array_add($users,‟john‟);(c)array_push($users,„john‟);(d)$users ||= „john‟;
32、下面的程序会输入是否?(1分)
33、使用php写一段简单查询,查出所有姓名为“张三”的内容并打印出来(2分)表名User Name Tel Content Date 张三 *** 大专毕业 2006-10-11 张三 *** 本科毕业 2006-10-15 张四 021-55665566 中专毕业 2006-10-15 请根据上面的题目完成代码:
$mysql_db=mysql_connect(“local”,”root”,”pass”);www.xiexiebang.com @mysql_select_db(“DB”,$mysql_db);
34、如何使用下面的类,并解释下面什么意思?(3)class test{
function Get_test($num){ $num=md5(md5($num).”En”);return $num;
}
}
35、写出 SQL语句的格式 : 插入,更新,删除(4分)表名User Name Tel Content Date 张三 *** 大专毕业 2006-10-11 张三 *** 本科毕业 2006-10-15 张四 021-55665566 中专毕业 2006-10-15(a)有一新记录(小王 *** 高中毕业 2007-05-06)请用SQL语句新增至表中(b)请用sql语句把张三的时间更新成为当前系统时间(c)请写出删除名为张四的全部记录
36、请写出数据类型(int char varchar datetime text)的意思;请问varchar和char有什么区别(2分)
37、MySQ自增类型(通常为表ID字段)必需将其设为(?)字段(1分)
38、写出以下程序的输出结果(1分) $b=201;$c=40;$a=$b>$c?4:5;echo $a;?>
39、检测一个变量是否有设置的函数是否?是否为空的函数是?(2分)40、取得查询结果集总数的函数是?(1分)
41、$arr = array(„james‟, „tom‟, „symfony‟);请打印出第一个元素的值(1分)
42、请将41题的数组的值用‟,'号分隔并合并成字串输出(1分)
43、$a = „abcdef‟;请取出$a的值并打印出第一个字母(1分)
44、PHP可以和sql server/oracle等数据库连接吗?(1分)
45、请写出PHP5权限控制修饰符(3分)
46、请写出php5的构造函数和析构函数(2分)
47、以下请用PHPMYADMIN完成
(一)创建新闻发布系统,表名为message有如下字段(3分)php程序员站 id 文章id title 文章标题 content 文章内容
category_id 文章分类id hits 点击量
(二)同样上述新闻发布系统:表comment记录用户回复内容,字段如下(4分)comment_id 回复id id 文章id,关联message表中的id comment_content 回复内容
现通过查询数据库需要得到以下格式的文章标题列表,并按照回复数量排序,回复最高的排在最前面
文章id 文章标题 点击量 回复数量
用一个SQL语句完成上述查询,如果文章没有回复则回复数量显示为0
(三)上述内容管理系统,表category保存分类信息,字段如下(3分)category_id int(4)not null auto_increment;categroy_name varchar(40)not null;
第二篇: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 |
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
A
count()
B conut()
C $_COUNT[“名称”]
D $_CONUT[“名称”]
28.从队列数组队头删除数据可以使用()函数。
A
array_push()
B array_pop()
C array_shift()
D array_unshift()
29.在html中嵌入javaScript,应该使用的标记是()
A
〈script language=“javascript”>
B 〈head> 〈/head>
C 〈body> 〈/body>
D 〈!--....//..>
30.以下代码运行结果()C $A=array(“Monday”,“Tuesday”,3=>“Wednesday”);
D C A
echo $A[2];
A
Monday B Tuesday C Wednesday D 没有显示
31.新建一个数组的函数是()
A
A
array
B next
C count
D reset
32.下列不正确的变量名是()
B
A
$_test
B $2abc
C $Var
D $printr
33.读取get方法传递的表单元素值的方法是: A
A
$_GET[“名称”]
B $get[“名称”]
C $GEG[“名称”]
D $_get[“名称”]
34.函数var_dump的意义是()C
A
定义数组
B 遍历数组
C 输出变量的相关信息
D 递归数组
35.strtoupper()函数的功能是: A
A
将给定字符串全部转换为大写字母。
B 将给定字符串全部转换为小写字母。
C 将给定字符串首字母转换为大写字母。
D 将给定字符串首字母转换为小写字母。
36.以下代码的运行结果是()A
if($i=“")
{echo ”a“;}
else
{echo ”b“;
} ?>
A
输出a
B 输出b
C 条件不足,无法确定
D 运行出错
37.在str_replace(1,2,3)函数中1 2 3 所代表的名称是()
B
A
”取代字符串","被取代字符串","来源字符串"
B "被取代字符串",“取代字符串","来源字符串"
C "来源字符串",”取代字符串","被取代字符串"
D "来源字符串","被取代字符串",“取代字符串"
38.浏览网页时,看到的内容是HTML的哪一部分? C
A
title
B table
C body
D head
39.运算符”%“的作用是()C
A
无效
B 取整
C 取余
D 除
40.file()函数返回的数据类型是()
A
A
数组
B 字符串
C 整型
D 根据文件来定
41.计算字符串长度的函数是()A
A
strlen()
B len()
C stringlen()
D lens()
42.array_push()的作用是()C
A
将数组的第一个元素弹出
B 将数组的最后一个元素弹出
C 将一个或多个元素压入数组的末尾
D 将一个或多个元素插入数组的开头
43.isset()的功能是()
A
A
测试变量是否存在B 测试变量是否为空
C 测试常量是否为空
D 测试常量是否存在
44.定义静态变量的关键字是()
A
A
static
B statics
C STATIC
D STATICS
45.以下属于忽略键名数组排序的是()
D
A
natsort
B ksort
C asort
D sort
46.empty()的功能是:
A
A
测试变量是否为空
B 测试变量是否存在C 测试常量是否为空
D 测试常量是否存在
47.浏览网页时,看到的内容是HTML的哪一部分?
C
A
title
B table
C body
D head
48.自定义用户常量,可以使用()函数.B
A
Define()
B define()
C Defin()
D defin()
49.执行下列代码后的结果是()$x=15;echo $x++;$y=20;echo ++$y;
A
15,20
B 15,21
C 16,20
D 16,21
50.申明全局变量的关键字是()B
A
globals
B global
C GLOBAL
D 无
多项选择题:(共12题,每题5分)
B.cd C.opendir D.rmdir 1.在返回数组中的所有值,可以使用array_value()函数 T
B 2.运算符“++”可以对常量和变量进行累加1 F 3.php语言中的数值型字符串可以和数字变量进行混合运算.T 4.php中,双引号字符串支持变量解析以及转义字符.T 5.php语言中的数值型字符串不可以和数字变量进行混合运算.F 6.PHP程序的扩展名必须是.php F 7.php中,字符串是用引号引起来的字符,单引号和双引号没有区别,都是一样的,随便用哪一个都是一样的.F 8.if条件控制语句中,if后面的{ }可有可无,意义一样。F 9.一个MySQL服务器,可以拥有多个数据库,每个数据库可拥有多个表.T 10.MS-server200与mysql一样,同属微软公司的产品,用于软件开发的数据库支持 F 11.运算符“--”可以对常量和变量进行自身减1 F 12.php中,单引号字符串不支持变量解析以及转义字符.T 13.if条件控制语句中,if后面的{ }不能省略。F 14.< f orm id=”form1“ name=”form1“ method=”“ action=”“ >,默认的method使用get进行值传递。F 15.〈 form id=”form1“ name=”form1“ method=”“ action=”">,默认的method使用post进行值传递。F 16.常量的作用域是全局的,不存在全局与局部的概念.T 17.if条件控制语句中,if后面必须加括号 T 18.使用get和post传递表单值没有什么区别,可以随便选择一种使用.F 19.php中,在任何时候,双引号和单引号都是不一样的.F 20.运算符“++”只能对常量进行自身加1 F 21.if条件控制语句中,if后面的{ }可有可无。F 22.PHP跟ASP一样,只能应用IIS架设服务器 F 23.MySQL可以建立个用户,但每个用户的权限一样,仅是名称不一样而已.F 24.php中,()与{ }具有不一样的功能。T 25.php中可以使用method=post的方式进行文件上传 F 26.php中,==与===是同一个运算符。F 27.MySQL数据库可以建立多个用户,且各个用户的权限可以分别设置.T 30.array_search()与in_array()函数均可用来查询数组中元素的值。F 31.PHP是微软公司开发的,应用于设计网页的语言 F 32.php中,双引号和单引号在某些时候具有不同的意义,在某些时候具有相同的意义.T 33.array_unshift()函数在数组的末尾插入一个或多个元素,返回成功插入后的总元素个数。F 34.current()和pos()均可返回数组中的当前单元。F 35.在返回数组中的所有值,可以使用array_keys()函数 F 36.php中,函数默认按值传递参数。T 37.php中,双引号字符串不支持变量解析以及转义字符.F 38.session与cookie只是名称不同,实质上没有什么区别,均可用于实现用户登录等功能.F 39.运算符“++”只能对变量的值自身累加1 F 40.安装Windows XP后,系统默认状态没有安装PHP环境;而安装Windows 2003后,系统自动安装了PHP环境,不用我们再安装.F
第三篇:PHP笔试题+答案
程序开发 卷1
PHP程序员考题
考试说明:
1、试卷总分为100分。
2、本次考试时间为120分钟。
一、逻辑推理题(9分,每题3分)
1.Jack夫妇请了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,‘john’);(d)$users ||= ‘john’;参考答案:B
5.PHP是一种______脚本语言,基于______引擎。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的正则匹配模式默认为贪婪模式,即第一个模式,表示*取尽量多的匹配字符,第二个加了个限定符?,为非贪婪(或懒惰模式),表示*取尽量少的匹配字符。(能写出贪婪和懒惰的区别,正则表达式已经没大问题了。)
8.session和cookies 有什么区别?如果浏览器禁用了cookies,session还可以使用吗?为什么?(5分)
参考答案:cookies存储在客户端,session存储在服务端。浏览器禁用了cookies,session也不可以使用,因为sesession是需要客户端发送一个sessionid到服务端,禁用了cookies,客户端就不能保存此sessionid,session也失效了。(session是常用的,考察使用的熟悉程度)
程序开发 卷1
9.PHP二进制数据流是处理是用什么函数的?(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_dsa.pub。即可实现无密码同步。(同步没问题了)
四、综合问答题(35分,每题5分)1.LAMP,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<$count;$i++){ for($j=$i+1;$j<$count;$j++){ if($arr[$j]<$arr[$i]){ $temp=$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也比较熟了)
4.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个小时)
1、HTTP 协议里 GET和POST请求的区别
2、session与cookie的区别
3、数据库中的事务是什么?
4、优化MYSQL数据库的方法,举例说明。(多写多得,可写在反面)
5、PHP语句include和require的区别是什么
6、JS表单弹出对话框函数是什么?获得输入焦点函数是什么?
7、下面的PHP5程序的输出值是什么?
$num = 10;
function multiply(){ $num = $num * 10;
}
multiply();
echo $num;?>
8、PHP检测一个变量是否有设置的函数是什么?
9、谈谈对mvc的认识?
10、一个整数数组包含10个元素,未排好序
9,16,25,32,2,1,29,81,36,21 写一个PHP程序,1)对数组进行排序
2)用二分法查找并输出 20 这个数在数组中的序(序号从1开始,查找不到返回0),写在反面
11、请写一个PHP函数验证电子邮件的格式是否正确
12、写出Linux下 创建目录、删除目录、删除文件、查看指定目录内容、移动文件的命令,并举例说明
13、CSS中margin和padding的区别
14、简述ajax的原理
15、假设给你5台服务器,请大致的描述一下,如何使用你所熟悉的软件,搭建一个日PV 100万左右的中型网站,包括数据库、WEB服务
第五篇: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 的 值 是 字 符 串 user@example.com,把 字 符 串 转 化 成 example.com?
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.整形数字将被丢弃,而保留字符串
15.考虑如下脚本。假设 http://www.xiexiebang.compile-time)包含一
个 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。记住,根据 php.ini 文件中的配置不同,这
当中的某些标签无法在特定的情况下使用。
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 崩溃,这两个说法就太恶搞了。