比较基础的php面试题及答案-编程题


Posted in 面试题 onOctober 14, 2012
编程题:
1. 写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名
例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php
答案1:
function getExt($url){
$arr = parse_url($url);

$file = basename($arr[path]);
$ext = explode(“.”,$file);
return $ext[1];
}
答案2:
function getExt($url) {
$url = basename($url);
$pos1 = strpos($url,”.”);
$pos2 = strpos($url,”?”);
if(strstr($url,”?”)){
return substr($url,$pos1 + 1,$pos2 – $pos1 – 1);
} else {
return substr($url,$pos1);
}
}

2. 在 HTML 语言中,页面头部的 meta 标记可以用来输出文件的编码格式,以下是一个标准的 meta 语句
请使用 PHP 语言写一个函数,把一个标准 HTML 页面中的类似 meta 标记中的 charset 部分值改为 big5
请注意:
1. 需要处理完整的 html 页面,即不光此 meta 语句
2. 忽略大小写
3. ‘ 和 ” 在此处是可以互换的
4. ‘Content-Type’ 两侧的引号是可以忽略的,但 ‘text/html; charset=gbk’ 两侧的不行
5. 注意处理多余空格

3. 写一个函数,算出两个文件的相对路径
如 $a = ‘/a/b/c/d/e.php’;
$b = ‘/a/b/12/34/c.php’;
计算出 $b 相对于 $a 的相对路径应该是 ../../c/d将()添上
答:function getRelativePath($a, $b) {
$returnPath = array(dirname($b));
$arrA = explode(‘/’, $a);
$arrB = explode(‘/’, $returnPath[0]);
for ($n = 1, $len = count($arrB); $n if ($arrA[$n] != $arrB[$n]) {
break;
}
}
if ($len – $n > 0) {
$returnPath = array_merge($returnPath, array_fill(1, $len – $n, ‘..’));
}

$returnPath = array_merge($returnPath, array_slice($arrA, $n));
return implode(‘/’, $returnPath);
}
echo getRelativePath($a, $b);

Tags in this post...

面试题 相关文章推荐
JMS中Topic和Queue有什么区别
May 15 面试题
抽象方法、抽象类怎样声明
Oct 25 面试题
索引覆盖(Index Covering)查询含义
Feb 18 面试题
简述索引存取方法的作用和建立索引的原则
Mar 26 面试题
介绍一下SQL中union,intersect和minus
Apr 05 面试题
标记环介质访问控制协议
Mar 27 面试题
.net C#面试题
Aug 28 面试题
string = null 和string = ''的区别
Apr 28 面试题
C#如何进行LDAP用户校验
Nov 21 面试题
Linux操作面试题
May 16 面试题
Solaris操作系统的线程机制
Jul 28 面试题
AJAX的优缺点都有什么
Aug 18 面试题
PHP中如何创建和修改数组
May 02 #面试题
PHP面试题集
Dec 18 #面试题
一些PHP的面试题
May 06 #面试题
几道PHP面试题
Apr 14 #面试题
PHP如何防止SQL注入
May 03 #面试题
几道PHP的面试题
May 19 #面试题
PHP解析URL是哪个函数?怎么用?
May 09 #面试题
You might like
PHP递归调用的小技巧讲解
2013/02/19 PHP
php5.5新数组函数array_column使用
2013/07/08 PHP
基于ThinkPHP实现批量删除
2015/12/18 PHP
Smarty模板变量调节器用法分析
2016/05/23 PHP
用js实现预览待上传的本地图片
2007/03/15 Javascript
用roll.js实现的图片自动滚动+鼠标触动的特效
2007/03/18 Javascript
javascript中DOM复选框选择用法实例
2015/05/14 Javascript
vue日期组件 支持vue1.0和2.0
2017/01/09 Javascript
js处理层级数据结构的方法小结
2017/01/17 Javascript
JavaScript学习总结之正则的元字符和一些简单的应用
2017/06/30 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
Vue导出页面为PDF格式的实现思路
2018/07/31 Javascript
angular6.x中ngTemplateOutlet指令的使用示例
2018/08/09 Javascript
vue.js父子组件通信动态绑定的实例
2018/09/28 Javascript
[43:58]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第一场 1月8日
2021/03/11 DOTA
python获取当前时间对应unix时间戳的方法
2015/05/15 Python
python字符串str和字节数组相互转化方法
2017/03/18 Python
python实现淘宝秒杀聚划算抢购自动提醒源码
2020/06/23 Python
python机器人运动范围问题的解答
2019/04/29 Python
numpy.random.shuffle打乱顺序函数的实现
2019/09/10 Python
tensorflow 限制显存大小的实现
2020/02/03 Python
Python Selenium实现无可视化界面过程解析
2020/08/25 Python
解决Pymongo insert时会自动添加_id的问题
2020/12/05 Python
pandas数据分组groupby()和统计函数agg()的使用
2021/03/04 Python
一篇.NET面试题
2014/09/29 面试题
旅游与酒店管理的自我评价分享
2013/11/03 职场文书
学期评语大全
2014/04/30 职场文书
财务务虚会发言材料
2014/10/20 职场文书
学校艾滋病宣传活动总结
2015/05/09 职场文书
让生命充满爱观后感
2015/06/08 职场文书
委托收款证明
2015/06/23 职场文书
react antd实现动态增减表单
2021/06/03 Javascript
WINDOWS 64位 下安装配置mysql8.0.25最详细的教程
2022/03/22 MySQL
Java处理延时任务的常用几种解决方案
2022/06/01 Java/Android