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

面试题 相关文章推荐
怎样创建、运行java程序
Aug 01 面试题
新东网科技Java笔试题
Jul 13 面试题
C++:局部变量能否和全局变量重名
Mar 03 面试题
WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
Aug 25 面试题
什么叫做SQL注入,如何防止
Oct 04 面试题
linux面试题参考答案(6)
Jun 23 面试题
Linux机考试题
Jul 17 面试题
linux面试题参考答案(5)
Sep 01 面试题
比较一下entity bean和session bean
Dec 27 面试题
写clone()方法时,通常都有一行代码,是什么?
Oct 31 面试题
Ruby如何定义一个类
Oct 08 面试题
如何将一个描述日期或日期/时间的字符串转换为一个Date对象
Oct 13 面试题
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学习教程之第1天
2008/06/15 PHP
php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
2011/04/07 PHP
PHP实现加强版加密解密类实例
2015/07/29 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
Django 标签筛选的实现代码(一对多、多对多)
2018/09/05 PHP
PHP 获取客户端 IP 地址的方法实例代码
2018/11/11 PHP
JS的IE和Firefox兼容性集锦
2006/12/11 Javascript
jQuery的三种$()
2009/12/30 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
jQuery Real Person验证码插件防止表单自动提交
2015/11/06 Javascript
jquery实现左右无缝轮播图
2020/07/31 Javascript
深入理解bootstrap框架之入门准备
2016/10/09 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
2017/07/04 Javascript
jQuery初级教程之网站品牌列表效果
2017/08/02 jQuery
jQuery实现checkbox的简单操作
2017/11/18 jQuery
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
2018/01/08 jQuery
浅谈vuejs实现数据驱动视图原理
2018/02/23 Javascript
node使用promise替代回调函数
2018/05/07 Javascript
图解JS原型和原型链实现原理
2020/09/15 Javascript
在python中按照特定顺序访问字典的方法详解
2018/12/14 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
Python 使用 environs 库定义环境变量的方法
2020/02/25 Python
AmazeUI 导航条的实现示例
2020/08/14 HTML / CSS
英国时尚泳装品牌:Maru Swimwear
2019/10/06 全球购物
什么是反射
2012/03/17 面试题
营销与策划个人求职信
2013/09/22 职场文书
服务之星获奖感言
2014/01/21 职场文书
职工小家建设活动方案
2014/08/25 职场文书
关于国庆节的演讲稿
2014/09/05 职场文书
幼儿教师个人总结
2015/02/05 职场文书
世界地球日活动总结
2015/02/09 职场文书
合同审查法律意见书
2015/06/04 职场文书
2015年中秋节主持词
2015/07/30 职场文书
承诺书应该怎么写?
2019/09/10 职场文书
python中subplot大小的设置步骤
2021/06/28 Python
Nginx本地配置SSL访问的实例教程
2022/05/30 Servers