比较基础的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程序员笔试题
Jan 01 面试题
什么是java序列化,如何实现java序列化
Nov 14 面试题
面向对象编程是如何提高软件开发水平的
May 06 面试题
网络、C以及其他硬件方面的面试题
Aug 23 面试题
判断单链表中是否存在环
Jul 16 面试题
如何打印出当前源文件的文件名以及源文件的当前行号
Apr 05 面试题
C#面试问题
Jul 29 面试题
四川internet信息高速公路(C#)笔试题
Feb 29 面试题
nohup的用法
Nov 26 面试题
Exception类的常用方法
Jun 16 面试题
Java基础知识面试题
Mar 25 面试题
万户网络JAVA程序员岗位招聘笔试试卷
Jan 08 面试题
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 adodb介绍
2009/03/19 PHP
基于PHP 面向对象之成员方法详解
2013/05/04 PHP
PHP实现简单日历类编写
2020/08/28 PHP
JS查看对象功能代码
2008/04/25 Javascript
Wordpress ThickBox 点击图片显示下一张图的修改方法
2010/12/11 Javascript
JS面向对象编程浅析
2011/08/28 Javascript
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
2012/10/11 Javascript
JavaScript通过正则表达式实现表单验证电话号码
2014/03/07 Javascript
分享jQuery封装好的一些常用操作
2016/07/28 Javascript
Vue.js每天必学之过滤器与自定义过滤器
2016/09/07 Javascript
微信小程序 地图定位简单实例
2016/10/14 Javascript
Asp.Net之JS生成分页条的方法
2016/11/23 Javascript
js实现3d悬浮效果
2017/02/16 Javascript
写给小白看的JavaScript异步
2017/11/29 Javascript
详解Node.js模板引擎Jade入门
2018/01/19 Javascript
使用selenium抓取淘宝的商品信息实例
2018/02/06 Javascript
jQuery实现获取选中复选框的值实例详解
2018/06/28 jQuery
[01:06:30]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第二场 1月9日
2021/03/11 DOTA
用python实现的去除win下文本文件头部BOM的代码
2013/02/10 Python
python多线程编程中的join函数使用心得
2014/09/02 Python
python判断字符串是否纯数字的方法
2014/11/19 Python
初步理解Python进程的信号通讯
2015/04/09 Python
python如何通过protobuf实现rpc
2016/03/06 Python
解析Python中的__getitem__专有方法
2016/06/27 Python
Python使用内置json模块解析json格式数据的方法
2017/07/20 Python
分分钟入门python语言
2018/03/20 Python
python 对象和json互相转换方法
2018/03/22 Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
2018/05/24 Python
如何利用python读取micaps文件详解
2020/10/18 Python
CSS3实现swap交换动画
2016/01/19 HTML / CSS
英国精品买手店:Browns Fashion
2016/09/29 全球购物
大学生军训感想
2014/02/16 职场文书
2014信息公开实施方案
2014/02/22 职场文书
大学生标准自荐书
2014/06/15 职场文书
学生实习证明范文
2014/09/28 职场文书
幼儿园教师个人工作总结2015
2015/05/12 职场文书