面试题集锦(三)
1.如何使用下面的类,并解释下面什么意思?
class test { function Get_test($num) { $num=md5(md5($num)."En"); return $num; } }
答:求两次MD5之后的值,第一次MD5之后的结果加上EN。
使用:
$get_test=new test(); $res=$get_test->get_test(2);
2.使用五种以上方式获取一个文件的扩展名,要求:dir/upload.image.jpg,找出 .jpg 或者 jpg
// 取文件的扩展名 function get_ext1($file_name) { //strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。 return strrchr($file_name, '.'); } function get_ext2($file_name) { //substr(string,start,length) 函数返回字符串的一部分。 //strrpos()函数查找字符串在另一个字符串中最后一次出现的位置。如果成功,则返回位置,否则返回 false。对大小写敏感。如需进行大小写不敏感的查找,请使用 strripos() return substr($file_name, strrpos($file_name, '.')); } function get_ext3($file_name) { // array_pop() 函数删除数组中的最后一个元素。 //explode(separator,string,limit)把字符串分割为数组。 return array_pop(explode('.', $file_name)); } function get_ext4($file_name) { // pathinfo(path,options)函数以数组的形式返回文件路径的信息。包括以下的数组元素: //[dirname]路径dir //[basename]文件名upload.image.jpg //[extension]扩展名jpg //[filename]upload.image $p = pathinfo($file_name); // print_r($p); return $p['extension']; } function get_ext5($file_name) { // strrev() 函数反转字符串。 return strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), '.'))); }
3. 如何修改SESSION的生存时间
答: Session提供了一个函数 session_set_cookie_params() 来设置 Session 的生存期的,该函数必须在 session_start() 函数调用之前调用:
<?php // 保存一天 $lifeTime = 24 * 3600; session_set_cookie_params($lifeTime); session_start(); $_SESSION["admin"] = true; ?>
4. 请写一个函数,实现以下功能: 字符串“open_door” 转换成 “OpenDoor”、”make_by_id” 转换成 ”MakeById”。
function clearstr($str){ //strtr() 函数转换字符串中特定的字符,但不能转换为空值 //return strtr($str, '_', '');
//str_replace()替代函数可行
return str_replace('_','',$str); //explode(separator,string,limit) 函数把字符串分割为数组。 //implode(separator,array) 函数把数组元素组合为一个字符串。 return implode('', explode('_', $str)); }
5.请举例说明在你的开发过程中用什么方法来加快页面的加载速度
答:
A.生成静态HTML
B.生成xml
C.可不用数据库的尽量不用数据库把变量参数存于文本.
D.用ZEND加速
SQL优化、PHP代码优化,减少数据库的调用(用缓存技术)