php基础面试题及答案(不断补充中)

1、PHP的意思

超级文本预处理语言 Hypertext PreProcessor

2、echo(),print(),print_r()的区别

echo是PHP语句, print和print_r是函数。语句没有返回值,函数可以有返回值(即便没有用)。
print()只能打印出简单类型变量的值(如int,string)   
print_r()可以打印出复杂类型变量的值(如数组,对象)   
echo 输出一个或者多个字符串

或者

echo是语言结构,无返回值;print功能和echo基本相同,不同的是print是函数,有返回值;print_r是递归打印,用于输出数组对象

3、可以使HTML和PHP分离开使用的模板

smarty,phplib

4、可以使用哪些工具进行版本控制

svn,git,cvs

5、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们?

在失败的时候:
include产生一个warning,而require产生直接产生错误中断
require在运行前载入
include在运行时载入
require_once
include_once

6、HTTP协议中几个状态码的含义:200 301 302 401 403 404 500 503 ……
200 : 请求成功,请求的数据随之返回。
301 : 永久性重定向。
302 : 暂时行重定向。
401 : 当前请求需要用户验证。
403 : 服务器拒绝执行请求,即没有权限。
404 : 请求失败,请求的数据在服务器上未发现。
500 : 服务器错误。一般服务器端程序执行错误。

503 : 服务器临时维护或过载。这个状态时临时性的。

7、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?
成对出现, 结束标识符所在的行不能包含任何其它字符除";"
$a = < good test
EOD;

8、谈谈asp,php,jsp的优缺点
asp是需要依赖IIS,是微软开发的语言
php和jsp可以依赖apache或者 nginx等其他服务器

9、谈谈对mvc的认识
model : 数据结构层
view :展现
control : 接收和判断处理输入

10、mysql_fetch_row() 和 mysql_fetch_array() 有什么分别?
mysql_fetch_row() 把数据库的一列储存在一个以零为基数的阵列中,第一栏在阵列的索引 0,第二栏在索引 1,如此类推。mysql_fetch_assoc() 把数据库的一列储存在一个关联阵列中,阵列的索引就是栏位名称,例如我的数据库查询送回“first_name”、“last_name”、“email”三个栏位,阵列的索引便是“first_name”、“last_name”和“email”。mysql_fetch_array() 可以同时送回 mysql_fetch_row() 和 mysql_fetch_assoc() 的值。


你可能感兴趣的:(php面试题)