一道求$b相对于$a的相对路径的php代码


Posted in PHP onAugust 08, 2010

php面试题的题目:
$a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php'; //计算出 $b 相对于 $a 的相对路径应该是 ../../c/d

php面试题的答案:

function getRelative($a,$b) { 
$arr = explode("/",$a); 
$brr = explode("/",$b); 
$c = count($arr)-2; 
$d = count($brr)-2; 
//之所以减二,一个是不在后面的文件名, 
//一个是数组的索引是从0开始的,比数组中的第一维的个数要小一 
$e = ($c>$d) ? $c:$d; 
$str1 = $str2 = ''; 
for ($j=0;$j<=$e;$j++) { 
$cur_a = isset($arr[$j]) ? $arr[$j] : ''; 
$cur_b = isset($brr[$j]) ? $brr[$j] : ''; 
if ($cur_a == $cur_b) { 
continue; 
} else { 
if ($j <= $c) 
{ 
$str1.='/'.$cur_a; 
} 
if ($j <= $d ) 
{ 
$str2.="../"; 
} 
} 
} 
return $str2.substr($str1,1,strlen($str1)); 
}
PHP 相关文章推荐
用PHP实现WEB动态网页静态
Oct 09 PHP
BBS(php &amp; mysql)完整版(四)
Oct 09 PHP
NO3第三帝国留言簿制作过程
Oct 09 PHP
PHP日期处理函数 整型日期格式
Jan 12 PHP
php学习笔记(三)操作符与控制结构
Aug 06 PHP
PHP中变量引用与变量销毁机制分析
Nov 15 PHP
php模拟登陆的实现方法分析
Jan 09 PHP
PHP匿名函数和use子句用法实例
Mar 16 PHP
php打包压缩文件之ZipArchive方法用法分析
Apr 30 PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
Jun 27 PHP
PHP使用pdo实现事务处理操作示例
Sep 05 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
Feb 25 PHP
字母顺序颠倒而单词顺序不变的php代码
Aug 08 #PHP
PHP通过header实现文本文件下载的代码
Aug 08 #PHP
php下保存远程图片到本地的办法
Aug 08 #PHP
用PHP实现递归循环每一个目录
Aug 08 #PHP
为IP查询添加GOOGLE地图功能的代码
Aug 08 #PHP
PHP下对数组进行排序的函数
Aug 08 #PHP
PHP 冒泡排序算法的实现代码
Aug 08 #PHP
You might like
php开发文档 会员收费1期
2012/08/14 PHP
3款值得推荐的微信开发开源框架
2014/10/28 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
2016/04/07 PHP
PHP常用操作类之通信数据封装类的实现
2017/07/16 PHP
jQuery实现行文字链接提示效果的方法
2015/03/10 Javascript
JS+CSS实现带小三角指引的滑动门效果
2015/09/22 Javascript
js+html5实现canvas绘制网页时钟的方法
2016/05/21 Javascript
JavaScript轻松创建级联函数的方法示例
2017/02/10 Javascript
javascript中的面向对象
2017/03/30 Javascript
JavaScript实现反转字符串的方法详解
2017/04/27 Javascript
详解vue-cli 接口代理配置
2017/12/13 Javascript
vue中实现移动端的scroll滚动方法
2018/03/03 Javascript
vue axios请求超时的正确处理方法
2018/04/02 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
JS对象和字符串之间互换操作实例分析
2019/02/02 Javascript
浅探express路由和中间件的实现
2019/09/30 Javascript
[52:00]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs Optic
2018/04/02 DOTA
[54:06]OG vs TNC 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python中threading超线程用法实例分析
2015/05/16 Python
pandas修改DataFrame列名的方法
2018/04/08 Python
Python操作mongodb数据库进行模糊查询操作示例
2018/06/09 Python
简单谈谈python基本数据类型
2018/09/26 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
2018/10/18 Python
python3.x实现base64加密和解密
2019/03/28 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
2019/09/23 Python
python实现吃苹果小游戏
2020/03/21 Python
python 代码实现k-means聚类分析的思路(不使用现成聚类库)
2020/06/01 Python
css3 border-radius属性详解
2017/07/05 HTML / CSS
Html5 FileReader实现即时上传图片功能实例代码
2014/09/01 HTML / CSS
英国书籍、CD、DVD和游戏的第一道德零售商:Awesome Books
2020/02/22 全球购物
群众路线剖析材料
2014/02/02 职场文书
学生鉴定评语大全
2014/05/05 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书
Python编写nmap扫描工具
2021/07/21 Python