第一篇:PHP课后
PHP课后习题
第一章自测题
一、单选题
1.动态网站隶属性下面哪一种软件开发形式()
A.应用程序开发
B.C/S架构软件
C.嵌入式程序开发
D.B/S架构软件
2.在下面的选项中,哪一种Web构建在开发动态网站时通常用于接收井处理用户事件()
A.HTML
B.CSS
C.JavaScript
D.PHP 3.下面几个后台脚本编程语言中,哪个属于开源的软件()
A.ASP
B.PHP
C.JSP
D.CGI 4.下面几个Web构建中,哪个可以直接作为数据库的客户端应用处理数据库中的数据()
A.JavaScript
B.Apache
C.Linux
D.PHP 5.用于调整网页的外观和布局的Web构建是下面选项中的哪一个()
A.PHP
B.JavaScript
C.CSS
D.XML 6.构建一个网站开发平台,希望具有简易性、低成本、高安全性、开发速度快并且执行灵活,可以选择下面选项中哪一种网站开发平台()
A.ASP.NET
B.J2EE
C.LAMP
D.CGI 7.下面选项中,哪个不属于URL的组成部分()
A.传输协议
B.主机
C.端口
D.Internet 8.如果选用LAMP平台开发Web程序,下面选项中不能使用PHP处理的工作是()
A.接收用户表单
B.处理用户事件
C.图像处理
D.生成HTML输出
9.在下面的选项中,可以由Web服务器Apache完成的工作是哪一个()
A.解析PHP文件
B.连接处理数据库
C.主动建立与客户端连接
D.发布网站
10.在下面的选项中,对MySQL数据库描述不正确的是()
A.MySQL属于C/S结构软件
B.在LAMP组合的开发平台中,MySQL用于保存网站中的内容数据
C.可以使用PHP作为MySQL客户端程序连接并处理MySQL服务器
D.MySQL服务器必须和Apache服务器以及PHP应用服务器安装在同一台电脑中
二、练习题
1.了解B/S软件体系结构的特点。
2.掌握动态网站开发所需要的Web构件,及每种构件在Web开发中的用途。3.了解网站的运行过程,Web的王作原理
4。了解HTTP请求/响应模式的过程,及URL的作用 5.探索LAMP组合的特性及应用领域
第二章自测题
1.下载最新版本的源代码包,在Linux操作系统下为自己安装一个最好的LAMP运行平台,并配置好phpMyAdmin。
2.下载各种软件的最稳定版本,在Windows操作系统中独立安装属于自己的PHP T作平台,要求设置好每个软件的安装路径,井配置好phpMyAdmin。
3.挑选一种自己喜欢的PHP及相关软件的集成版本,安装并进行设置。
4.不管是安装的哪一种开发环境,找到Apache、MySQL、PHP的安装目录和它们的配置文件,以及网页发布目录的位置。
第三章自测题
一、单选题
1.Apache是()服务的服务器程序
A.www.xiexiebang.com)A.strchr, split,var_dump
B.strstr,explode, print_r C.srrstr,explode, echo
D.Strchr,split, var,_dump 5.下面哪个正则表达式,可以从服务器上取到访问域名第二层()A.preg_replace(“/.*([^.V]+)(.(comlnetlorg))?.[^.V]+$/”,“1”, $_SERVER['HTTP_ HOST'])B.preg_replace(“/.*?([^.V]+)(.(comlnetlorg))?.[^.V]+$/”,“1”,$_SERVER['HTTP_ HOST'])C.preg_replace(“/.*([^.v]+)(.(comlnetlorg))?.[^.V]+$/”,“1”,$HTTP HOST)D.preg_replace(“/.*?([^.V]+)(.(comInmlorg))?.[^.V]+$/”,“1”,$HTTP_HOST)PHP中,下列哪个函数是将字符串前后颠倒()A.strrev()
B.strrpos()C.strstr()
D.sirfiirst()6.下列那个选项是正确的引用文件的方法:()A.require和include
B.re:quire和function C.define和include
D.function和include 7.以下字符的长度是()
$text=“ tllo ”;
echo strlen(trim($text));
?> A.9
B.5
C.7
D.3 8.将字符串中所有英文单字的开头字母转换为大写的函数应该是()A.ucfrrst(“字符串”)
B.strtolower()C.strtoupper()
D.ucwords()
二、练习题
1.写出一个函数验证电子邮件的格式是否正确。
2.写出一个正则表达式,过滤网页上的所有JavaScript/VBScript脚本(即把script标记及其内容都去掉)。3.编写一个PHP脚本程序,用于接受用户在表单中的输入,井要求在该脚本中进行数据效验(在客户端表单中有以下字段和需要效验的格式)。
Name
请输入你的名字,单行,32个汉字以下.8个汉字以上
Title
请输入标题,单行,64个汉字以下,不能为空
Body
输入文本内容,多行,不限
E-mail 请输入邮件地址,按电子邮件格式效验
Birthday请输入生日,按YYYY-MM-DD格式效验
第八章自测题
自测题
一、单选题
1.以下哪个错误级别会使程序崩溃,阻止并退出程序()A.E_WARNING
B.E_NOTICE
C.E_ERROR
D.以上都可以 2.下面刘PHP错误日志描述不正确的是()
A.可以错误记录到Apache服务器的错误日志文件error.log 中
B.记录错误日志到自己指定的文件中
C.可以将错误日志发送给系统syslog
D。在写入错误日志之前,应该先在PHP配置文件中将displa y_errors选项开启 3.关于PHP 5中的异常,下列四句描述中哪句是错误的()
A.异常也是一个类
B,为了抛出我们自建的异常,我们必须使用throw语句实现
C.异常在抛山后会在父一层被自动消灭掉
D.要容忍某些特定的异常,我们应该使用try„catch语法的同时,留空catch段 4.下面哪个函数不能返回UNIX时间戳()
A.Time()
B.strtotime()
C.localtimeo
D.gmrnktime()5.当前GMT时区的时间戳和当前本地的时间戳,在秒上有什么区别()
A.这取决于本地时区和GMT时区之间小时数的差别
B.没有任何区别
C.本地时区和GMT时区完全匹配时才相等
D.没有可比的地方
6.以下哪一个是最简单的方式将microtime()转化输出为一个单一的数值()
A.$time=implode(' ',microtime());
B.$time=explode(' ',microtime());$time=$t.ime[0]+$time [1];
C.$time=microtime()+microtime();
D.$time=arr ay_sum(explode(' ',microtime()));7.下面程序运行结果为()
$nextWeek=timeO+(7*24*60*60);
echo 'Now:'.date('Y-m-d').“n”;
echo 'Next Week:'.date('Y-m-d',$nextWeek).“n”;
?>
A.得到今天的日期(月-曰)
B-得到今天的U期(年-月-U)与下周的日期(年-月-日)
c.得到现在的时间(小时-分-秒)
D.得到现在到下周的时间间隔
8.使用PHP的GD函数库动态创建图像时,需要先获取图像资源,下面函数中哪一个不能创建图像资源()
A.imagecreate()
B.imagec:reatetruecolor()
C.imagecreateflromjpeg()
D.imagecolorallocate()
二、练习题
1.简述PHP中error_reporting函数的作用是什么。
2。使用PHP的日期和时间函数,打印出“前一天“的日期和时问信息(输出可以参考2009-5-12 11:05:30格式)。
3.使用PHP的GD函数库编写一个具有缩放图片和添加水印功能的类(要求支持中文水印)。
第十一章自测题
一、单选题
1.怎样打开或创建一个文件()
A.open()
B.fopen()
C.fwriteo
D,write()2.下面哪两个参数用来提示fopen()函数打开一个文件进行读取并写入()
A.w
B.r
c.a
D.+ 3.哪个函数用来从文本文件里面读取一个单独的行,但是当你需要读取二进制数据或者其他格式的文件的时候,你需要使用哪个函数()
A.fgets(),fseeko
B.freda(),fgets0
C.fputs(),fgets()
D.fgets0,fread()4.下面代码中file_ exists的意义是()
$ filename-‘/path/to/foo.txt’;
Iq(file_exists($fil.encame)){
Echo“The file $filenfune exists”;
}else{
echo “Thcfile$filename does not exist”;)
?>
A.测试字符串
B.测试数组
C.测试变量
D.测试一个文件是否存在
5./tmp是上传文件的默认存储目录,如果更改这个目录需要编辑哪个文件的哪个属性值(A.php.ini文件的upload_tmp_dir属性
B.php.ini文件的uploaud_dif属性
c-php,conf文件的upl'oad_tmp_dir属性
D.php+conf文件的upload_dir属性 6.以下代码运行结果为()
php
$fp=fopen(”/etc/passwd“,”rt“);
$data=fgets($fp,12);
echo ftell($fp);
fclose($fp);
?>
A.13
B.11
C.0
D.10 7.File()函数返回的数据类型为()
A.数组
B.字符串
C.整型
D.根据文件来定 8.PHP中删除文件的函数是()
A.rm
B.del
C.unlink
D.rm-if 9.PHP中,可以用来接收上传的文件的函数是()
A.$一FILES
B-copys
C.is_uploadnle
D-move_uploaded_file 10.PHP中用来删除当前日录的函数是()
A.chdir
B.cd
C.opendir
D.rmdir =、练习题
1.使用PHP的文件处理函数实现网页静态化功能。
2.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。
3.在没有数据库的环境下,以文件替代数据库实现一个完整的网页留言板功能。
第十二章自测题
一、单选题
1.下列哪些数据库管理系统是PHP不支持的()A.MySQL
B-IBM DB2
C.PostgreSQL
D.Microsoft SQL Server
E.以上没有一个PHP不支持
2.请看下面的SQL查询语句,选择哪两项可以减少从数据库返回的数据量()SELECT*FROM
MY —TABLE
A.转为存储过程
B.用具体的字段名来代替“*”
c.加一个“wnere”语句
D.转变查询为视图
E.使用预语句 3.下面哪个不是一个合法的SQL的归类函数()
A.AVG
B.SUM
C.MIN
D.MAX
E.CURRENT_DATEO 4.mysql_affected_rows()对哪个操作没有影响()
A.SELECT
B.DELETE
C, UPDATE
D.INSERT 5.取得搜索语句的结果集中的记录总数的函数是()
A.Mysql-fetch-row
B.mysql-u root password tcst
C.mysql_num-rows
D.mysql-u root-password test 6.mysql_insert_id()函数的作用是()
A.盘看下一次捅入记录时的ID号
B.查看刚刚插入过的自动增长ID值
C.查看一共做过多少次insert操作
D.查看一共多少条记录 7.修改MySQL崩户root的密码的指令是(A.mysqiadmin—u root password test
B.mysql-u root password test
C.mysql—Ll root—ptest
D.mysql-u root-password test
8.以下代码执行结果是()
A.报错
C.循环换行打印全部记录
B.只打印一条记录 D.无任何结果
B.查看刚剐插入过的自动增长ID值 D.查看一共有多少条记录
9.假设-f一个数据库mydb中有一个表tb】,表中有六个字段,主键为ID,有十条记录,ID从0到9,以下代码输山结果是()
$link 2 mysql_c.onnec.t(”IocalhostrP, “mysql_user't, ”mysql_passwordr')
or die(l'Could not connelc.t:”.m ysql_erroH));
tSresult 2 mysql_query{T'SELECT i.d,name,age FROM mydb.tbl where id<5");
or die(P'Could not query:.mysqI—error(》;
echo mysql_num_fields(S;result.);
mysql_close{'$tink);
?>
A,6
B.5
C.4
D.3 10.使用以下哪条指令能够实现数据库的长久连接()
A.mysql_connecE
B.mysql_con nectd
C.mysql_pconnetcd
D.mysql_pconnect 1 1.建立一个“学生”表Student,它由学弓Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。其中学号不能为空,值是唯一的,并且姓名取值也唯一,下列哪个选项正确()
A.CREATE TABLE.Student(Sno CHAR(5)NOT NULL UNIQUE, Sname CHAR(20)UNIQUE,Ssex CHAR(1),Sage INT* Sdep CHAR(1 5)):
B-
CREATE TABLE Student(Sno CHAR(5)NOT NULL UNIQUE, Sname CHAR(20)UNIQUE,Ssex CHAR(I)Sage INT, Sdept CHAR(15));
C.CREATE TABLE Student(Sno CHAR(5), Snarm: CHAR(20)UNIQUE* Ssex CHAR(I), SageINT.Sdept CHAR(15));
D-CREATE TAHLE Student(Sno CHAR(5)NOT NULL UNIQUE, Sname CHAR(20)UNIQUE,Ssex CHAR(l), Sdcpt CHAR(1 5)): 12.查询所有年龄在20岁以下的学生姓名及其年龄,以下正确的是()
A, SELECT Sname,Sage FROM Student.WHERE Sage<=20;
B.SELECT Sname,Sage FROM Student WHERE NOT Sage<20;
C-SELECT Sname,Sage FROM Student WHERE NOT Sage>20;
D.SELECT Sname,Sage FROM Studcnt WHERE Sage<20;13.查询名字中第2个字为“阳”字的学生的姓名和学号,下列正确的是()
A.SELECT Sname,Sno FROM Student WHERE Sname LIKE '_阳%';
B.SELECT Sname,Sno FROM Student WHERE Sname LIKE'阳%':
C.SELECT Sname,Sno FROM StU dent WHERE Sn ame LIKE'一阳';
D.SELE CT Sn ame,Sno FROM Student WHERE Sname LIKE'阳_%';14.HAVING短语与WHERE子句的区别是()
A.WHERE进择满足条件的组
B.HAVING选择满足条件的元组
C,作用对象不同
D.查询条件不同
15.导山数据库正确的方法为()
A.mysqldump数据库名>文件名;
B,mys qldump数据库名>>文件名;
c.mysqliciump数据库名 文件名;
D.mysqldump数据库名=文作名; 16.
卜面哪一项不是有效的SELECT语句()
A.SELECT astname,firstname FROM customers;
B-SELECT*FROM orders;
C.Select FirstName NAME from CUSTOMERS;
D,SELECT lastname Last Name FROM customers;1 7.以下ALTER语法不正确的是()
A.ALTER TAHLE tl RENAME t2;
B.ALTER TABLE t2 MODIFY a TINYINT NOT NULL;
C.ALTER TABLE t2 MODIFY a TINYrNT NOT NULL, CHANGE b CHAR(20);
D.ALTER TABLE t2 ADD c INT UNSIGNED NOT NULLAUTO_INCREMENT, ADD INDEX(c);1 8.下面哪一个不是有效的约束类型()
A.PRIMARYKEYS
B.UNIQUE
C.CHECK
D.FOREIGN KEY 19.MySQL.中表的默认类型为()
A.ISAM
B.InnoDB
C.MyISAM
D.HE.AP
二、练习题
1.实现用户注册功能。需要建一张用户信息表,并编写注册和结果两个页面。用户在注册页面填写注册信息,提交到结果页面后显示注册的结果。
具体要求:
(1)在MySQL数据库的test数据库中,创建一张用于存放用户注册信息的表,表中有描用户名”、“密码”两个字段,并且设置“用户名”字段为主键;
(2.)用户注册页面要显示一个输入框、一个密码框和一个“注册”提交按钮:
(3)用户单击“注册”按钮时,耍用JavaScript技术对用广的输入信息进行判断,包括 用户名或者密码不能为空,密码的长度必须大于6位,用户名和密码的长度必须小于10位。假如用户输入不符合上述规范,则弹出相应的错误提示信息终止提交;只有当用户输入满足上规范时,才允许将表单提交到结果页面;
(4)如果用户名在表中已经存在,则在结果页面提示用户重新输入用户名;
(5)如果用户名在表中不存在,则将用户的注册信息插入到数据库中,并在结果页面显示“注册成功”的提示信息;
(6)用户注册成功后,在结果页面显示“现在已经有×X位注册用户了!”并将所有的注
册用户信息以列表方式显示出来。
2.在M.ySQL数据库,使用的用户名为root,密码为php。其中的一个数据库名称为lamp,其中的有两个表名为type和border。下面为两个表中的关系与数据:
表type
表Border
编写一个脚本遍历两张表中的数据形成目录结构,一级为type表中的数据,每个类别下为border表中的数据。
具体要求:
(1)数掘库文件(具体操作语句)。
(2)正确显示一级type表中数据。
(3)正确显示每个类下border表中数据母
第二篇: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面试题
PHP程序员初级面试题
一、解释一下语句作用,并标示出以下哪一句不会把 John 新增到 users 阵列?
$users[] = 'john';
array_add($users,‟john‟);
array_push($users,„john‟);
$users ||= 'john';
二、sort()、assort()、和 ksort()有什么分别?它们分别在什么情况下使用? sort()
asort()
ksort()
三、以下的代码会产生什么?为什么? $num =10;function multiply(){ $num =$num *10;} multiply();echo $num;
四、reference 跟一个正规的变量有什么分别?如何 pass by reference?在什么情况下我们需要这样做?
五、哪些函式可以用来向正在执行的脚本中插入函式库?
六、foo()与 @foo()有什么分别?
七、你如何替 PHP 的应用程式侦错?
八、“===”是什么?试举一个“==”是真但“===”是假的例子。
九、你会如何定义一个没有成员函式或特性的类别 myclass?
十、include 和 include_once 有什么分别?require 又如何?
十一、以下哪一个函式可以把浏览器转向到另一个页面? redir()
header()
location()
redirect()
十二、以下哪一个函式可以用来开启档案以便读/写? fget()
file_open()
fopen()
open_file()
十三、mysql_fetch_row()和 mysql_fetch_array()有什么分别?
十四、下面的代码用来做什么?请解释。
$date='08/26/2003';print ereg_replace(“([0-9]+)/([0-9]+)/([0-9]+)”,“[url=file://2///1///3%22,$date]2/1/3”,$date[/url]);
十五、试写出几个输出一段 HTML 代码的方法。(一)
成功把 John 新增到阵列 users。函式 array_add()无定义。
成功把 John 新增到阵列 users。
语法错误。
(二)根据阵列中元素的值,以英文字母顺序排序,索引键会由 0 到 n-1 重新编号。主要是当阵列索引键的值无关疼痒时用来把阵列排序。
与 sort()一样把阵列的元素按英文字母顺序来排列,不同的是所有索引键都获得保留,特别适合替联想阵列排序。
根据阵列中索引键的值,以英文字母顺序排序,特别适合用于希望把索引键排序的联想阵列。
(三)由于函式 multiply()没有指定 $num 为全域变量(例如 global $num 或者 $_GLOBALS['num']),所以 $num 的值是 10。
(四)Reference 传送的是变量的地址而非它的值,所以在函式中改变一个变量的值时,整个应用都见到这个变量的新值。一个正规变量传送给函式的是它的值,当函式改变这个变量的值时,只有这个函式才见到新值,应用的其他部分仍然见到旧值。
$myVariable = “its' value”;Myfunction(&$myVariable);// 以 reference 传送参数以 reference 传送参数给函式,可以使函式改变了的变量,即使在函式结束后仍然保留新值。
(五)对这道题目不同的理解会有不同的答案,我的第一个想法是插入 PHP 函式库不外乎 include()、include_once()、require()、require_once(),但细心再想,“函式库”也应该包括 com 物件和.net 函式库,所以我们的答案也要分别包括 com_load 和 dotnet_load,下次有人提起“函式库”的时候,别忘记这两个函式。
(六)foo()会执行这个函式,任何解译错误、语法错误、执行错误都会在页面上显示出来。@foo()在执行这个函式时,会隐藏所有上述的错误讯息。
很多应用程式都使用 @mysql_connect()和 @mysql_query 来隐藏 mysql 的错误讯息,我认为这是很严重的失误,因为错误不该被隐藏,你必须妥善处理它们,可能的话解决它们。
(七)我并不常这样做,我曾经试过很多不同的侦错工具,在 Linux 系统中设定这些工具一点也不容易。不过以下我会介绍一个近来颇受注目的侦错工具。
PHPAPD,第一步是执行以下的指令安装: pear install apd安装后在你的脚本的开头位置加入以下的语句开始进行侦错: apd_set_pprof_trace();执行完毕,打开以下档案来查阅执行日志: apd.dumpdir 你也可以使用 pprofp 来格式化日志。
(八)“===”是给既可以送回布尔值“假”,也可以送回一个不是布尔值但却可以赋与“假”值的函式,strpos()和 strrpos()便是其中两个例子。
问题的第二部份有点困难,想一个“==”是假,但是“===”是真的例子却很容易,相反的例子却很少。但我终于找到以下的例子:
if(strpos(“abc”, “a”)== true){ // 这部分永不会被执行,因为 “a” 的位置是 0,换算成布尔值“假”}if(strpos(“abc”, “a”)=== true){ // 这部份会被执行,因为“===”保证函式 strpos()的送回值不会换算成布尔值.}(九)
class myclass{}(十)$obj = new myclass();(十一)
使用语句:$this->propertyName,例如:
class myclass{ private $propertyName;public function __construct(){ $this->propertyName = “value”;}}(十二)
三者都是用来在脚本中插入其他档案,视乎 url_allow_fopen 是否核准,这个档案可以从系统内部或外部取得。但他们之间也有微细的分别:
include():这个函式容许你在脚本中把同一个档案插入多次,若果档案不存在,它会发出系统警告并继续执行脚本。include_once():它跟 include()的功能相似,正如它的名字所示,在脚本的执行期间,有关档案只会被插入一次。require():跟 include()差不多,它也是用来在脚本中插入其他档案,但若果档案不存在,它会发出系统警告,这个警告会引致致命错误令脚本中止执行
(十三)这不是一个 PHP 函式,会引致执行错误。
这个是正确答案,header()用来插入卷头资料,可以用来使浏览器转向到另一个页面,例如:
header(“Location: http:// 标签,为何要自行编写正规表达式?好了,便当作是面试的一道考题吧,我会这样回答:
$stringOfText = ”
This is a test
“;$expression = ”/<(.*?)>(.*?)(.*?)>/“;echo preg_replace($expression, ”[url=file://2/]2[/url]“, $stringOfText);// 有人说也可以使用 /(<[^>]*>)/ $expression = ”/(<[^>]*>)/“;echo preg_replace($expression, ”“, $stringOfText);(十八)这正是为何我老是告诉别人选择适当的编程语言,若果你只用一种语言的话你怎么能回答这道问题?这道问题很简单,Perl 所有阵列变量都是以 @ 开头,例如 @myArray,PHP 则沿用 $ 作为所有变量的开头,例如 $myArray。至于 Perl 表示散列表则用 %,例如 %myHash,PHP 则没有分别,仍是使用 $,例如
$myHash。
(十九)最主要的俩各选择是 session 和 cookie。使用 session 的方法是在每一页的开始加上 session_start(),然后利用 $_SESSION 散列表来储存 session 变量。至于 cookie 你只需记着一个原则:在输出任何文字之前调用 set_cookie()函式,此外只需使用 $_COOKIE 散列表便可以存取所有 cookie 变量。
还有一个不那么可靠的方法,就是利用访客的 IP 地址,这个方法有特定的危险性。
(二十)这个可能是我最喜欢的函式库,自从 PHP 4.3.0 版本后 GD 便内建在 PHP 系统中。这个函式库让你处理和显示各式格式的图档,它的另一个常见用途是制作所图档。GD 以外的另一个选择是 ImageMagick,但这个函式库并不内建于 PHP 之中,必须由系统管理员安装在伺服器上。
(二十一)嗯,你可以使用 PHP 中任何一种输出语句,包括 echo、print、printf,大部分人都使用如下例的 echo: echo ”My string $variable";你也可以使用这种方法:
echo <<
我们不要为一个简单的问题引发一场舌战,正如我经常说的:“为工作选择适合的语言,不要把工作迁就语言。”我个人认为 Perl 十分适合用作命令行工具,虽然它在网页应用上也有不错的表现,但是它的真正实力在命令行上才能充分发挥。同样地,PHP 虽然可以在控制台的环境中使用,但是个人认为它在网页应用上有更好的表现,PHP 有大量专门为网页应用而设计的函式,Perl 则似乎以命令行为设计之本。
个人来说两种语言我都喜欢,在大学期间我经常使用 Perl、PHP 和 Java,可惜工作上我使用 C#,但在家里我花不少时间操练 PHP、Perl、Ruby(现正学习)和 Java,保持我的技能知识在最新状态。很多人问我 C 和 C++ 怎么样,它们是否仍有机会在我的应用中占一席位,我的答案基本上是“否”,我近来的工作主要集中在网页开发,虽然 C 和 C++ 也可以用来写网页,但它们到底不是为这种工作而设计的,“为工作选择适合的语言”,若果我需要编写一个控制台应用,用来展示 bubble sort、quick sort 和 merge sort 的效能比较,我一定会使用 C / C++。若果我需要编写一个相片簿系统,我会使用 PHP 或者 C#(我认为制作用户介面方面.NET 语言比网页更加)。
第四篇: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优缺点
千锋教育www.xiexiebang.com 精品课程 全程面授
浅谈PHP优缺点
众所周知,PHP语言作为服务器端开发的脚本语言,在网站开发方面非常有名。自从1995年RasmusLerdorf创建之后,根据W3Techs的调查显示在已知的服务端编程语言中,PHP就占据了82%。而其中还不乏WordPress,Facebook这样的知名科技公司。在编程语言流行度排行榜中的位置仅次于Java,在Toibe排行中名列第六。2015年PHP7发布,更是极大地改进了性能,让PHP变得更加强大。
优点一:流行,容易上手
PHP是目前最流行的编程语言,这毋庸置疑。它驱动全球超过2亿多个网站,有全球超过81.7%的公共网站在服务器端采用PHP。不仅如此,据统计,千锋教育-中国IT职业教育领先品牌
千锋教育www.xiexiebang.com 精品课程 全程面授
有78.1%从事PHP的人认为PHP最容易学习和上手。这是因为PHP常用的数据结构都内置了,使用起来方便简单,也一点都不复杂,表达能力相当灵活。
NewMediaCampaigns公司的开发工程师JoshLockhart曾讲过:PHP是最容易学习的网站开发语言,它能安装在绝大多数的服务器上,并且由于有实时更新的文档和问答,PHP语言相对其他语言简单易学。
优点二:开发职位很多
在服务器端的网站编程中PHP会更容易帮助你找到工作。京东、淘宝、天猫、Google、百度、新浪、腾讯QQ、微信等很多互联网相关企业都在使用PHP开发框架,所以可以说市场对PHP的开发程序员的需求还是比较大的。通过各个招聘网站搜索PHP工程师,得出的数字让我们两眼放光,智联招聘PHP的招聘岗位高达43081个;前程无忧的招聘岗位人数达46008;猎聘网的相关数据为6013个,可见PHP的需求多,职位也多。
优点三:仍然在不断发展
PHP在不断兼容着类似closures和命名空间等技术,同时兼顾性能和当下流行的框架。版本是7之后,一直在提供更高性能的应用,在一些WordPress基准测试当中,性能可以达到PHP 5.6的3倍。PHP 7包含了一些重大安全改
千锋教育-中国IT职业教育领先品牌
千锋教育www.xiexiebang.com 精品课程 全程面授
进,如除去PHP安全模式,添加魔术引号,有一些新的保留关键字等等。而今年三月份,PHP 7.1.3和7.0.17已经正式发布。
缺点:设计缺陷,缺少关注
PHP被称作是不透明的语言,因为没有堆栈追踪,各种脆弱的输入。没有一个明确的设计哲学。早期的PHP受到Perl的影响,带有out参数的标准库又是有C语言引入,面向对象的部分又是从C++和Java学来的。
不过,总的来说,相对于极小的缺点来说,PHP的发展空间是极其大的,这也是为何其会受到市场以及企业喜欢和欢迎的原因所在。可以说,对一门技术的喜厌程度来自很多方面,从个人习惯到项目需求,毕竟任何东西都没办法做到人见人爱。
千锋教育-中国IT职业教育领先品牌
千锋教育www.xiexiebang.com 精品课程 全程面授
如果你已经决定要学好PHP,找一家靠谱的培训机构,将会让你的学习过程事半功倍。
千锋教育一直秉承“用良心做教育”的理念,致力于打造IT教育全产业链人才服务平台,培养优质人才20000余人,同期在校学员5000余人,合作院校超500所,合作企业超10000家。全国共有十三个校区。
千锋教育PHP培训班毕业学员,其平均年薪相比行业平均年薪,足足高出五万。
千锋教育采取企业开放场景教学;讲师、班主任、项目经理立体管理;名师100%全程面授;打造高级PHP程序员,让你真正的学有所用。市场的价格就是你的价值。千锋教育,为你迅速增值。
学习6天——掌握京东、淘宝首页开发——市场对应薪资3000+; 学习30天——熟练掌握主流电商贴吧技术开发——市场对应薪资5000+; 学习45天——使用框架在阿里云、腾讯云部署博客上线真实项目——市场对应薪资6000+;
千锋教育-中国IT职业教育领先品牌
千锋教育www.xiexiebang.com 精品课程 全程面授
学习第七十天——写框架、用框架、开发微信,独立完成任意框架开发——市场对应薪资8000+;
学习90天——熟练完成B站、优酷及直播平台弹幕实现、能够部署99台以上的服务器搞秒杀——市场对应薪资10000+。
学习PHP培训,首选千锋教育。千锋教育力造IT培训领导品牌,学员百分之九十以上都是大专以上学生,力求为你营造最优质的学习环境。千锋教育现在更有0学费入学、2周免费试听、跨学科周末班限时免费送活动,一次报名,学习双技能,如同打了五折。欢迎你前来咨询,试听。
千锋教育-中国IT职业教育领先品牌