一道求$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开发文件系统实例讲解
Oct 09 PHP
在php MYSQL中插入当前时间
Apr 06 PHP
PHP 计算代码执行耗时的代码修正网上普遍错误
May 14 PHP
PHP正则表达式之定界符和原子介绍
Oct 05 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
Mar 13 PHP
php连接与操作PostgreSQL数据库的方法
Dec 25 PHP
PHP PDO fetch 模式各种参数的输出结果一览
Jan 07 PHP
php+ajax实时刷新简单实例
Feb 25 PHP
PHP实现的蚂蚁爬杆路径算法代码
Dec 03 PHP
php 中的closure用法详解
Jun 12 PHP
php源码的使用方法讲解
Sep 26 PHP
laravel 模型查询按照whereIn排序的示例
Oct 16 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字符比较函数similar_text、strnatcmp与strcasecmp用法分析
2014/11/18 PHP
php微信支付之APP支付方法
2015/03/04 PHP
php显示指定目录下子目录的方法
2015/03/20 PHP
php连接oracle数据库的核心步骤
2016/05/26 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
JavaScript开发规范要求(规范化代码)
2010/08/16 Javascript
nodejs入门详解(多篇文章结合)
2012/03/07 NodeJs
javascript 正则表达式相关应介绍
2012/11/27 Javascript
玩转方法:call和apply
2014/05/08 Javascript
再谈Jquery Ajax方法传递到action(补充)
2014/05/12 Javascript
Node.js抓取中文网页乱码问题和解决方法
2015/02/10 Javascript
javascript实现网页字符定位的方法
2015/07/14 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
浅谈jquery选择器 :first与:first-child的区别
2016/11/20 Javascript
vuejs事件中心管理组件间的通信详解
2017/08/09 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
2017/10/06 Javascript
ES6 Object属性新的写法实例小结
2019/06/25 Javascript
如何换个角度使用VUE过滤器详解
2019/09/11 Javascript
微信小程序自定义组件components(代码详解)
2019/10/21 Javascript
vue递归获取父元素的元素实例
2020/08/07 Javascript
[02:51]2014DOTA2国际邀请赛 IG战队官方纪录片
2014/07/21 DOTA
python中执行shell的两种方法总结
2017/01/10 Python
不要用强制方法杀掉python线程
2017/02/26 Python
numpy.std() 计算矩阵标准差的方法
2018/07/11 Python
python SQLAlchemy 中的Engine详解
2019/07/04 Python
深入了解Django View(视图系统)
2019/07/23 Python
Python数据处理篇之Sympy系列(五)---解方程
2019/10/12 Python
python之MSE、MAE、RMSE的使用
2020/02/24 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
PyCharm Ctrl+Shift+F 失灵的简单有效解决操作
2021/01/15 Python
45个非常奇妙的CSS3 特性应用示例
2012/01/01 HTML / CSS
浅谈基于HTML5的在线视频播放方案
2016/02/18 HTML / CSS
高职教师岗位职责
2013/12/24 职场文书
高一物理教学反思
2014/01/24 职场文书
2014年信息技术工作总结
2014/12/16 职场文书
严以律己学习心得体会
2016/01/13 职场文书