比较基础的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...

面试题 相关文章推荐
PHP面试题集
Dec 18 面试题
PHP如何自定义函数
Sep 16 面试题
serialVersionUID具有什么样的特征
Feb 20 面试题
华为c/c++笔试题
Jan 25 面试题
介绍一下#error预处理
Sep 25 面试题
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
Nov 18 面试题
如果Session Bean得Remove方法一直都不被调用会怎么样
Jul 14 面试题
EJB3推出JPA的原因
Oct 16 面试题
GWT (Google Web Toolkit)有哪些主要的原件组成?
Jun 08 面试题
Lucene推荐的分页方式是什么?
Dec 07 面试题
内部类的定义、种类以及优点
Oct 16 面试题
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 实现多服务器共享 SESSION 数据
2009/08/15 PHP
PHP学习笔记(二):变量详解
2015/04/17 PHP
PHP处理会话函数大总结
2015/08/05 PHP
PHP工程师VIM配置分享
2015/12/15 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
2017/10/13 PHP
Laravel 队列使用的实现
2019/01/08 PHP
laravel按天、按小时,查询数据的实例
2019/10/09 PHP
Javascript 遍历对象中的子对象
2009/07/03 Javascript
JavaScript中的函数嵌套使用
2015/06/04 Javascript
Angularjs中UI Router的使用方法
2016/05/14 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
connection reset by peer问题总结及解决方案
2016/10/21 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
2016/11/22 Javascript
jQuery基于ajax实现页面加载后检查用户登录状态的方法
2017/02/10 Javascript
js将键值对字符串转为json字符串的方法
2018/03/30 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
2018/05/08 Javascript
vue中v-for循环给标签属性赋值的方法
2018/10/18 Javascript
微信小程序自定义可滑动日历界面
2018/12/28 Javascript
JS实现电脑虚拟键盘的操作
2020/06/24 Javascript
[49:20]2014 DOTA2国际邀请赛中国区预选赛5.21 CIS VS TongFu
2014/05/22 DOTA
在Django框架中编写Contact表单的教程
2015/07/17 Python
Python保存MongoDB上的文件到本地的方法
2016/03/16 Python
Python之os操作方法(详解)
2017/06/15 Python
Python实现语音识别和语音合成功能
2019/09/20 Python
TensorFlow绘制loss/accuracy曲线的实例
2020/01/21 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
2020/06/02 Python
Python CategoricalDtype自定义排序实现原理解析
2020/09/11 Python
python 服务器运行代码报错ModuleNotFoundError的解决办法
2020/09/16 Python
CSS3制作炫酷的下拉菜单及弹起式选单的实例分享
2016/05/17 HTML / CSS
经理管理专业自荐信范文
2013/12/31 职场文书
个人简历中自我评价
2014/02/11 职场文书
《蜗牛的奖杯》教后反思
2014/04/24 职场文书
护士年终个人总结
2015/02/13 职场文书
审美与表现自我评价
2015/03/09 职场文书
spring cloud 配置中心客户端启动遇到的问题
2021/09/25 Java/Android
vue整合百度地图显示指定地点信息
2022/04/06 Vue.js