Home > Article > Backend Development > php面试知识
又开始搞php了,好多php知识忘记了,学习php的方法是看面试题
下面是我搜集的一份php的面试题目
1、用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分)
echo date("Y-m-d H:i:s",strtotime("-1 day"));
2、echo(),print(),print_r()的区别(3分)
echo是PHP语句,可输出一个或多个字符串,echo效率相对较高,无返回值.
print和print_r是函数,有返回值.
print只能打印简单类型变量(如int,string等),只可以同时输出一个字符串.
print_r可打印复杂类型变量(如数组,对象等)
3、能够使HTML和PHP分离开使用的模板(1分)
templateLib,smarty,…..
4、使用哪些工具进行版本控制?(1分)
比较有代表性的:CVS,Subversion
5、如何实现字符串翻转?(3分)
方式多种多样,直接利用PHP的strrev函数实现字符串翻转.或自己写:
$str = "hello,World!";
for($i=strlen($str)-1; $i>=0; $i--) {
echo $str[$i];
}
echo "\n";
6、优化MYSQL数据库的方法。(4分,多写多得)
创建索引;优化数据库表结构
使用存储过程;
7、PHP的意思(送1分)
PHP: Hypertext Preprocessor,超文本预处理器的字母缩写
8、MYSQL取得当前时间的函数是?,格式化日期的函数是(2分)
now(); date()
select date(now())
select time(now())
9、实现中文字串截取无乱码的方法。(3分)
function mysubstr($str,$start,$len) {
$tmpstr = "";
$strlen = $len+$start;
for($i=$start; $i if(ord(substr($str,$i,1)) > 0xa0) {
$tmpstr .= substr($str,$i,2);
$i++;
}
else {
$tmpstr .= substr($str,$i,1);
}
}
return $tmpstr;
}
接下来的这4个问题就是各自的使用了,我在这里就不在作答(主要是有些我也不清楚,呵呵)。
10、您是否用过版本控制软件? 如果有您用的版本控制软件的名字是?(1分)
11、您是否用过模板引擎? 如果有您用的模板引擎的名字是?(1分)
12、请简单阐述您最得意的开发之作(4分)
13、对于大流量的网站,您采用什么样的方法来解决访问量问题?(4分)
14、用PHP写出显示客户端IP与服务器IP的代码1分)
$server = getenv("SERVER_ADDR");
$server_ip = getenv("SERVER_ADDR");
$client_ip = $_SERVER['REMOTE_ADDR'];
$client_ip = getenv("HTTP_X_FORWARDED_FOR");
15、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们? (2分)
include通过位于程序流程控制的处理部分,程序执行到include()时,才将它读进来.
require一般位于程序的开始,php程序在执行前就会先将require()包含的文件读入,使它成为 php程序的一部分.
可使用include_once()和require_once()来代替.
16、如何修改SESSION的生存时间(1分).
$lifeTime = 24 * 3600;
session_set_cookie_params($lifeTime);
不好意思啊,这里改为我的首页了,呵呵。
17、有一个网页地址, 比如红心草博客主页: http://www.hongxincao.com/,如何得到它的内容?($1分)
$content = file_get_contents(“http://www.hongxincao.com“);
echo $content;
18、在HTTP 1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用 header 函数,其语句为(?);(2分)
header(“HTTP/1.0 401 Authorization Required”);
其它php相关面试题目
http://dason.blog.51cto.com/658897/498831