您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

不错的php面试题及答案

2024/10/31 6:00:26发布87次查看
strrev($str){ $len=strlen($str); $newstr = ''; for($i=$len;$i>=0;$i--) { $newstr .= $str{$i}; } return $newstr;}
复制代码
15.实现中文字串截取无乱码的方法。
答:mb_substr()
16.使用php写一段简单查询,查出所有姓名为“张三”的内容并打印出来
表名username tel content date张三 13333663366 大专毕业 2006-10-11张三 13612312331 本科毕业 2006-10-15张四 021-55665566 中专毕业 2006-10-15答:select name,tel,content,date from user where name='张三'
复制代码
17.如何使用下面的类,并解释下面什么意思?
class test{ get_test($num) { $num=md5(md5($num).en); return $num; }}
复制代码
答:用法:$get_test = new test();$result = $get_test->get_test(2);
将$num变量进行两次md5后返回,第2次的md5中的参数,在第一次md5($num)后多加了en
18.使用五种以上方式获取一个文件的扩展名
要求:dir/upload.image.jpg,找出 .jpg 或者 jpg ,
答:使用五种以上方式获取一个文件的扩展名
1)
get_ext1($file_name){ return strrchr($file_name, '.');}2)get_ext2($file_name){ return substr($file_name, strrpos($file_name, '.'));}3)get_ext3($file_name){ return array_pop(explode('.', $file_name));}4)
get_ext4($file_name){ $p = pathinfo($file_name); return $p['extension'];}5)get_ext5($file_name){ return strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), '.')));}
复制代码
19.如何修改session的生存时间
这个函式库让你处理和显示各式格式的图档,它的另一个常见用途是制作所图档。gd 以外的另一个选择是 imagemagick,但这个函式库并不内建于 php 之中,必须由系统管理员安装在伺服器上答:其实 session 还提供了一个函数 session_set_cookie_params(); 来设置 session 的生存期的,该函数必须在 session_start() 函数调用之前调用:
<?php // 保存一天 $lifetime = 24 * 3600; session_set_cookie_params($lifetime); session_start();$_session[admin] = true; ?>
复制代码
20. 请写一个函数,实现以下功能: 字符串“open_door” 转换成 “opendoor”、”make_by_id” 转换成 ”makebyid”。30.请举例说明在你的开发过程中用什么方法来加快页面的加载速度a.生成静态htmlb.生成xmlc.可不用数据库的尽量不用数据库把变量参数存于文本.d.用zend加速答:
function test($str){$arr1=explode('_',$str);//$arr2=array_walk($arr1,ucwords( ));$str = implode(' ',$arr1);
return ucwords($str);}$aa='open_door';echo test($aa);?>
复制代码
21. 如何用php的环境变量得到一个网页地址的内容?ip地址又要怎样得到?
答:$_servsr[‘request_uri’]
$_server[‘remote_addr’]
22.求两个日期的差数,例如2007-2-5 ~ 2007-3-6 的日期差数
答:(strtotime(‘2007-3-6’)-strtotime(‘2007-2-5’))/3600*24
23.表中有a b c三列,用sql语句实现:当a列大于b列时选择a列否则选择b列,当b列大于c列时选择b列否则选择c列。
答:select case when a>b then a else b end,case when b>c then b else c endfrom test
24.请简述项目中优化sql语句执行效率的方法,从哪些方面,sql语句性能如何分析?
答:(1)选择最有效率的表名顺序
(2)where子句中的连接顺序
(3)select子句中避免使用‘*’
(4)用where子句替换having子句
(5)通过内部函数提高sql效率
(6)避免在索引列上使用计算。
(7)提高group by 语句的效率, 可以通过将不需要的记录在group by 之前过滤掉。
25.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() 的值。
26.下面的代码用来做什么?请解释。$date='08/26/2003';print ereg_replace(([0-9]+)/([0-9]+)/([0-9]+),\\2/\\1/\\3,$date);
这是把一个日期从 mm/dd/yyyy 的格式转为 dd/mm/yyyy 格式。我的一个好朋友告诉我可以把这个正规表达式拆解为以下的语句,对于如此简单的表示是来说其实无须拆解,纯粹为了解说的方便:
// 对应一个或更多 0-9,后面紧随一个斜号$regexpression = ([0-9]+)/;// 应一个或更多 0-9,后面紧随另一个斜号$regexpression .= ([0-9]+)/;// 再次对应一个或更多 0-9$regexpression .= ([0-9]+);至于 \\2/\\1/\\3 则是用来对应括号,第一个括号对的是月份,
27.gd 函式库用来做什么?
答:这个函式库让你处理和显示各式格式的图档,它的另一个常见用途是制作所图档。gd 以外的另一个选择是 imagemagick,但这个函式库并不内建于 php 之中,必须由系统管理员安装在伺服器上
28.请举例说明在你的开发过程中用什么方法来加快页面的加载速度答:要用到服务器资源时才打开,及时关闭服务器资源,数据库添加索引,页面可生成静态,图片等大文件单独服务器。使用代码优化工具啦
29.防止sql注射漏洞一般用__addslashes___函数。
30.php中传值和传引用、传地址的区别是什么?答:传值是把实参的值赋值给行参 那么对行参的修改,不会影响实参的值
传地址 是传值的一种特殊方式,只是他传递的是地址,不是普通的如int 那么传地址以后,实参和行参都指向同一个对象
31。如何通过javascript判断一个窗口是否已经被屏蔽答:获取open()的返回值,如果是null,就是屏蔽了
33.对于大流量的网站,您采用什么样的方法来解决访问量问题
答:首先,确认服务器硬件是否足够支持当前的流量
其次,优化数据库访问。
第三,禁止外部的盗链。
第四,控制大文件的下载。
第五,使用不同主机分流主要流量
第六,使用流量分析统计软件
以上分享一些php面试题与相关答案,希望对大家有所帮助。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product