一.简答题
1.php的意思
答:英文超文本预处理语言Hypertext Preprocessor的缩写
2.谈谈asp,jsp,php的优缺点
答:ASP:开发速度快~`灵活~`运行速度中~`可以用在几乎所有操作系统下~`安全性低(如果菜鸟编写的话)
PHP:开发速度中~`运行速度快~`跨平台~`安全性中
JSP:开发速度慢~`运行速度慢~`跨平台~`平台架设比较难~安全性高~
3.echo,print()及print_r()的区别
答:echo语言结构,无返回值,只能打印数字或字符串
print与echo基本相同print是函数(有争议,有说和echo一样时语言结构),有返回值,打印数字或字符串
print_r可以输出复杂的数据类型,如数组对象,打印结构等
4.语句include和require的区别是什么?为避免多次包含同一文件,用(?)语句替代它
们?
答:1、对于错误的处理不同。
include遇到错误时(引用的文件不存在),PHP只是报错,但程序会继续运行下去。require遇到错误时,直接报错并停止运行程序。
2、程序处理不同
require在运行前载入
include在运行时载入
5.谈谈对MVC的认识
答:MVC是一种流行的程序架构。分为三个层次:M:模型层(Model),V:视图(View),C:控制器(Controller)
MVC的核心思想是:视图与用户交互。用户通过事件导致控制器的改变,控制器的改变导致模型的改变,或者模型和视图都改变,模型的改变导致视图的改变,或者视图潜在的从模型获取的参数发生改变
业务模型的设计是MVC的核心
MVC架构的优势在于:开发人员可以只关注架构中的某一层,很容易的就可以用新的实现来替换原有层次的实现,降低了层与层之间的依赖。有利于标准化,利于各层逻辑的复用
6.请写出三种以上目前PHP流行的框架名称及其特点
答:yii大型封装式框架
zend中型重量型框架
th小型轻量框架
7.说说您认为最好的PHP框架的特点,主要解决什么问题,与其他框架的不同点。
答:Yii Yii是一个基于组件的高性能的PHP的框架,用于开发大规模Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从MVC,DAO/ActiveRecord,
widgets,caching,等级式RBAC,Web服务,到主体化,I18N和L10N,Yii提供了今日Web2.0应用开发所需要的几乎一切功能。而且这个框架的价格也并不太高。事实上,Yii是最有效率的PHP框架之一。2.CodeIgniter CodeIgniter是一个应用开发框架——一个为建立PHP网站的人们所设计的工具包。其目标在于快速的开发项目:它提供了丰富的库组以完成常见的任务,以及简单的界面,富有条理性的架构来访问这些库。使用CodeIgniter开发可以往项目中注入更多的创造力,因为它节省了大量编码的时间。3. CakePHPCakePHP是一个快速开发PHP的框架,其中使用了一些常见的... Thinkphp:首先,属于框架级别,各种符合标准
然后,国产,资料齐全,而且相对于外国的zf,上手简单很多
8、无限极分类的实现原理
二.代码编写题
1.用PHP写个函数来对二维数组排序
答:function array_sort($arr,$keys,$type='asc'){
$keysvalue=$new_array=array();
foreach($arras$k=>$v){
$keysvalue[$k]=$v[$keys];
}
if($type=='asc'){
asort($keysvalue);
}else{
arsort($keysvalue);
}
reset($keysvalue);
foreach($keysvalueas$k=>$v){
$new_array[$k]=$arr[$k];
}
return$new_array;
}
参数说明:$arr:要排序的数组$keys:指定根据哪个键值排序$type:排序方式,升序还是降序,默认为升序
这个PHP函数可以实现对一个二维数组根据指定键值进行排序,并返回排序后的数组。
2.写出SQL语句:插入,更新,删除
表名User
Name Tel Content Date
张三133********大专毕业2006-10-11
张三12343435434本科毕业2006-10-15
张四021-*******中专毕业2006-10-15
答:insert into`User`(`Name`,`Tel`,`Content`,`Date`)values(‘小王’,’132********’,’高中毕业’,’2007-05-06’);
Update`User`set`Date`=now()where`Name`=’张三’;
Delete from`User`where`Name`=‘张三’;