PHP面试题及答案
更新时间:2024-02-02 10:25:09 阅读量: 教育文库 文档下载
PHP面试题及答案
Posted by murray 10月 21, 2009
1,用PHP打印出前一天的时间,格式是2006-5-10 22:21:21
echo date(\?>
2,echo(),print(),print_r()的区别
echo是语言结构,无返回值;print功能和echo基本相同,不同的是print是函数,有返回值;print_r是递归打印,用于输出数组对象 3,能够使HTML和PHP分离开使用的模板
smarty, PHPLib, FastTemplate, Savant,MiniTemplator,TagTemplate 4,如何实现PHP、JSP交互
$foo = new Java(’java.lang.System’); 5,使用哪些工具进行版本控制 CVS或SVN
CVS Server on Apache作服务端,WinCVS作客户端
Subversion on Apache/DAV 做服务端,TortoiseSVN做客户端 6,如何实现字符串翻转
$str=strrev(\echo $str; ?>
7,优化MYSQL数据库的方法
(1)选取最适用的字段属性,尽可能减少定义字段长度,尽量把字段设置NOT NULL,例如’省份,性别’,最好设置为ENUM (2)使用连接(JOIN)来代替子查询:
(3)使用联合(UNION)来代替手动创建的临时表 (4)事务处理:
保证数据完整性,例如添加和修改同时,两者成立则都执行,一者失败都失败 mysql_query(”BEGIN”);
mysql_query(”INSERT INTO customerinfo (name) VALUES (’$name1′)”; mysql_query(”SELECT * FROM `orderinfo` where customerid=”.$id”); mysql_query(”COMMIT”); (5)锁定表,优化事务处理:
我们用一个 SELECT 语句取出初始数据,通过一些计算,用 UPDATE 语句将新值更新到表中。包含有 WRITE 关键字的 LOCK TABLE 语句可以保证在 UNLOCK TABLES 命令被执行之前,不会有其它的访问来对 inventory 进行插入、更新或者删除的操作
mysql_query(”LOCK TABLE customerinfo READ, orderinfo WRITE”);
mysql_query(”SELECT customerid FROM `customerinfo` where id=”.$id);
mysql_query(”UPDATE `orderinfo` SET ordertitle=’$title’ where customerid=”.$id);
mysql_query(”UNLOCK TABLES”); (6)使用外键,优化锁定表 (7)建立索引: (8)优化查询语句
最好在相同字段进行比较操作,在建立好的索引字段上尽量减少函数操作 SELECT * FROM order WHERE YEAR(orderDate)<2008;(慢) SELECT * FROM order WHERE orderDate<\快) SELECT * FROM order WHERE addtime/7<24;(慢) SELECT * FROM order WHERE addtime<24*7;(快) SELECT * FROM order WHERE title like \
SELECT * FROM order WHERE title>=”good” and name<\ 8,实现中文字串截取无乱码的方法
$str = '我是一串比较长的中';
echo \echo \?>
mb_substr:我是一串比较 mb_strcut:我是
mb_substr是按字来切分字符,而mb_strcut是按字节来切分字符,但是都不会产生半个字符的现象
9,用PHP写出显示客户端IP与服务器IP的代码
echo $_SERVER[‘REMOTE_ADDR’]; getenv('REMOTE_ADDR'); //客户端IP
$ip=gethostbyname (\//服务器IP echo $ip; ?>
10,在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量中;而链接到当前页面的URL记录在预定义变量中 echo $_SERVER['PHP_SELF'];
echo $_SERVER[\11,
$null = NULL; $bool = FALSE; $notSet;
$array = array(); //以下是问题 $a = \
$b = &$a; unset($b);
//答案为:hello echo $a;
$b = \//答案为:hello echo $a;
//以下是问题 $a = 1; $x = &$a; $b = $a++; //答案为:1 echo $b;
//以下是问题
$x = empty($array); //答案为:1 echo $x;
//答案为:true
echo $x?\?>
12,表单中 get与post提交方法的区别
get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息
13,session与cookie的区别
session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放
cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。 两者都可通过时间来设置时间长短 14,数据库中的事务是什么
事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消 15,MYSQL取得当前时间的函数是 now() 格式化日期的函数是 date()
16,语句include和require的区别是什么
require->require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require
include->include有返回值,而require没有(可能因为如此require的速度比include快)
17,如何修改SESSION的生存时间
将php.ini中的session.gc_maxlifetime设置为9999重启apache 或:$savePath = “./session_save_dir/”;
$lifeTime = 小时 * 秒;
session_save_path($savePath);
session_set_cookie_params($lifeTime); session_start();
18,有一个网页地址,比如http://www.murray.cn/,如何得到它的内容 $readcontents = fopen(”http://www.murray.cn/”, “rb”); $contents = stream_get_contents($readcontents); fclose($readcontents); echo $contents; 或
echo file_get_contents(”http://www.murray.cn/”); 19,在HTTP 1.0中,状态码401的含义是 未被授权
如果返回“找不到文件”的提示,则可用 header 函数,其语句为 header(”Location:www.murray.cn”);
20,在PHP中,heredoc是一种特殊的字符串,它的结束标志必须
heredoc的语法是用”<<<\在标签范围內的文字视为一个字符串 例子:
$str = << my name is Jiang Qihui! murray; 21,请说明php中传值与传引用的区别。什么时候传值什么时候传引用? 按值传递:函数范围内对值的任何改变在函数外部都会被忽略 按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改 优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。 按引用传递则不需要复制值,对于性能提高很有好处。 22,在PHP中error_reporting这个函数有什么作用 设置错误级别与错误信息回报 23,请写一个函数验证电子邮件的格式是否正确 $pregEmail = \3}([\\.][a-z]{2})?/i\ return preg_match($pregEmail,$email); 24,如何得到当前执行脚本路径,包括所得到参数 $script_name = basename(__file__); print_r($script_name); 25,JS表单弹出对话框函数是 alert(),prompt(),confirm(); 获得输入焦点函数是focus(); 26,如何声明一个名为”myclass”的没有方法和属性的类 class myclass{ } 如何实例化一个名为”myclass”的对象 new myclass() 如何访问和设置一个类的属性 $object = new myclass(); $newstr = $object->test; $object->test = “info”; 27,可以打开一个文件,以对文件进行读和写操作: fopen() 28,$num = 10; function multiply(){ $num = $num * 10; } multiply(); echo $num; //输出:10 29,写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名 function getExt($url){ $arr = parse_url($url); $file = basename($arr['path']); $ext = explode(”.”,$file); return $ext[1]; } 30,PHP5权限控制修饰符 public(公共),private(私用),protected(继承)
正在阅读:
PHP面试题及答案02-02
实质重于形式原则在会计实务中的应用及需注意的问题(注会毕业设计)09-18
什么是草莓状血管瘤05-20
最新2013年小学数学新课程标准测试题05-17
18-1-中国石油天然气集团公司安全生产应急管理办法(中油安〔2015〕175号)01-28
当前企业管理中存在的问题及对策10-29
最新苏教版 小学四年级数学上册第一单元升和毫升教案含教学反思04-26
懂了这5个字可参透书法奥妙04-04
大学计算机基础课程测试卷(C)03-20
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 试题
- 答案
- PHP
- 增城市永宁街小学英语集体备课记录表module 1
- 土地估价师核心笔记
- 湖北省义务教育学校办学基本标准(试行)(鄂教规〔2011〕3号)
- SH4--毕业设计(论文)指导书
- 2013年“白金汉爵”杯平湖市第十七届
- 生产许可证年度自查报告(范本)
- 英语新交互视听说3答案
- 第五章 工程造价各阶段计价与控制
- 建筑消防设施维护管理制度
- 结构设计中计算参数合理取值探讨
- 人音版六年级下册音乐教案及反思
- 全国计算机信息高新技术考试办公软件中级操作员考试题库 - 图文
- 必修政治文明历程第一轮复习学案 第一单元 古代中国的政治制度
- 数字图像处理与分析习题及答案概述
- 工程安全监测仪器电缆考证表
- 成绩管理系统实验报告 - 图文
- 生产与作业管理名词解释
- 钢制件的表面发黑处理
- 2016学年度第二学期初二英语期中考试试题
- 2018年秋季幼儿园园务工作计划