摘要: 这里收集整理了关于PHP面试的题目,也包括一些阿土自己在阅读和学习中碰到的问题的记录,希望对正在求职的你或希望提高PHP能力的你有所帮助。 1.PHP里面是区分大小写的吗? 这是个很不好回答的问题,PHP对于系统函数、用户自定义函数、类名称等是不区分大小写的如可以用EHCO也可以用echo调用显示函数,但对于变量名称又是区分大小写的,如$Name和$NAME是2个不同的变量。而对于文件名... 阅读全文
posted @ 2011-12-15 13:07 涂文瀚 阅读(7979) 评论(0) 推荐(0) 编辑
摘要: 折腾了2天在网上找了不少资料才把PHP的调试环境搭建好,这里总结下搭建的过程及注意事项【环境介绍】操作系统:WIN7WAMP版本:WampServer Version 2.1(Apache2.2.17、PHP5.3.3、MYSQL5.5.8)NETBEANS 版本:NetBeans IDE 7.0 (Build 201104080000)XDEBUG版本:2.1.1(PHP 5.3 VC6 TS (32 bit))备注:XDEBUG官网针对win系统提供了多个版本,每个版本又涉及到VC6、VC9还有带TC的,具体的含义可以通过如何选择PHP版本进一步了解(感谢喵了个咪的对本文提出的建议)【安装 阅读全文
posted @ 2011-12-15 13:06 涂文瀚 阅读(1634) 评论(1) 推荐(1) 编辑
摘要: 首先需要指出的是同样免费的Zend OPtimizer并不是加速器,它能通过纠正常见的效率低下的编码习惯来实现对性能的小幅提升。下面的文章转载自杀客,较详细的介绍了3款加速器的安装及性能对比。一、PHP加速器介绍 PHP加速器是一个为了提高PHP执行效率,从而缓存起PHP的操作码,这样PHP后面执行就不用解析转换了,可以直接调用PHP操作码,这样速度上就提高了不少。 Apache中使用mod_php的请求、响应执行流程:1、Apache接收请求。 2、Apache传递请求给mod_php。 3、mod_php定位磁盘文件,并加载到内存中。 4、mod_php编译源代码成为opcode树。 5、 阅读全文
posted @ 2011-12-15 13:05 涂文瀚 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 先上个图,来个看图不说话,大家通过这个图能看个大概PHP从5.2.10开始,区分线程安全和非线程安全2个版本。我们就从这两个的区别说起。所谓线程安全(Thread Safe)就是执行时会进行线程安全检查,以防止有新请求时就启动新线程的CGI执行方式耗尽系统资源。非线程安全(None Thread Safe)就是在执行时不进行线程安全检查。PHP在IIS上运行PHP有ISAPI和FastCGI两种形式(如果是wamp,运行方式是FastCGI)。FastCGI执行方式是以单线程来执行的,所以无需进行线程安全检查,IIS7集成了FastCGI,IIS6也支持,如果是采用FastCGI运行PHP,建 阅读全文
posted @ 2011-12-15 13:04 涂文瀚 阅读(2121) 评论(0) 推荐(0) 编辑
摘要: 第一章主要是讲字符串的常用操作,如果你对下面的这些函数都理解了,那么可以跳过此章节。strpos() : 在一个字符串中查找另一个字符串的位置,返回值false或一个数字或是空,需要用===判断 substr() : 从一个字符串中指定起始位置和指定长度的子字符串 substr_replace() : 类似substr(),区别在于是将取得的子字符串用另外一个字符串替换strlen() : 获取字符串的长度。这里是获取字节的长度,对中文来说不适用,中文用mb_strlen() strrev() : 反转原始字符串 array_reverse() : 倒序数组 str_replace() : 非 阅读全文
posted @ 2011-12-15 13:03 涂文瀚 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 本章介绍了日期常用的函数及经常碰到的处理日期/时间的情景,如计算两个时间的差,还简单的介绍了不同时区间的日期显示问题。对于天文日历计算方面的(儒略日)转换函数,个人认为可以忽略。 strftime() : 根据区域设置setlocal()格式化时间/日期 date() :格式一个本地日期/时间 getdate() : 取得日期/时间(可以指定某时间戳) Retur... 阅读全文
posted @ 2011-12-15 13:02 涂文瀚 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 第二章主要介绍了PHP如何处理数字,包括了开发中经常使用的小数取舍、数字格式化、大数字处理,同时还用了不少章节介绍科学计算及高精度计算需要用到的函数 is_numeric() : 判断一个变量或值是否是合法的数字类型 abs() : 返回绝对值 round() : 四舍五入 ceil() : 取大 floor() : 取小 range() :... 阅读全文
posted @ 2011-12-15 13:02 涂文瀚 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 数组是在web开发中经常会用到的部分,所以此章节的内容比较重要 unset() : 销毁一个变量(当然也包括数组) array_pad() : 用值填补指定长度的空缺 array_splice() : 除了可以通过此函数移除数组中的元素,还可以指定另一个数组替换移除的部分 array_merge() : 合并多个数组 array_push() : 在数组末尾添加值 array_map() : 通过一个回调函数处理数组中的多个元素 is_array() : 检测一个变量是否是数组类型array_shift() : 移除数组中的第一个元素 array_pop() : 返回数组中的最后一个元素并将其 阅读全文
posted @ 2011-12-15 13:01 涂文瀚 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 函数(有些资料会将此翻译成过程,所谓的面向过程开发就是以函数为基础的开发)在面向对象开发(简称OO--Object-Oriented Method)时代之前,是PHP中最重要的一个部分,是代码复用唯一的方法。在OO出现之后(虽然早期PHP版本就已经有OO的身影,但真正引入面向对象主要特性是在PHP5版本之后)两种方法常常会并存于一个项目中,这点和很多面向对象语言(JAVA或ASP.NET等)不太一... 阅读全文
posted @ 2011-12-15 13:00 涂文瀚 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 虽说在PHP5之前,php就有对面向对象编程方面的支持,但对对象和类的处理不是那么的理想,直到PHP5通过使用Zend Engine2(ZE2)才使PHP得以包含高级的面向对象特性。本章就是介绍PHP5的面向对象特性,目前,很多的公司在招聘PHPer时都会提出对这部分的要求。需要稍微注意一下的地方是本书中文版在new一个对象的时候(Instantiating Objects)翻译为技巧化一个对象,... 阅读全文
posted @ 2011-12-15 12:59 涂文瀚 阅读(727) 评论(3) 推荐(0) 编辑
摘要: 本章主要介绍了和web相关的一些基础知识如cookie、get请求、post请求、环境变量的读写等内容。setcookie() : 设置cookie值$_COOKIE['名']:获得cookie值浏览器重定向:header('Location: http://www.example.com/confirm.html');get_browser() : 获得浏览器参数 http_build_query() : 将数组转换成查询字符串$vars = array('name' => 'Oscar the Grouch', ' 阅读全文
posted @ 2011-12-15 12:57 涂文瀚 阅读(302) 评论(0) 推荐(0) 编辑
foot