一道求$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 相关文章推荐
修改Zend引擎实现PHP源码加密的原理及实践
Apr 14 PHP
PHP5 操作MySQL数据库基础代码
Sep 29 PHP
PHP调用VC编写的COM组件实例
Mar 29 PHP
Codeigniter注册登录代码示例
Jun 12 PHP
深入理解PHP之OpCode原理详解
Jun 01 PHP
PHP获取指定日期是星期几的实现方法
Nov 30 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
May 05 PHP
PHP实现对xml的增删改查操作案例分析
May 19 PHP
详解PHP中的外观模式facade pattern
Feb 05 PHP
php5.6.x到php7.0.x特性小结
Aug 17 PHP
浅谈laravel aliases别名的原理
Oct 24 PHP
php在linux环境中如何使用redis详解
Dec 15 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 7的一些引人注目的新特性简单介绍
2015/11/08 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
PHP使用phpunit进行单元测试示例
2019/09/23 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
JavaScript使用技巧精萃[代码非常实用]
2008/11/21 Javascript
file控件选择上传文件确定后触发的js事件是哪个
2014/03/17 Javascript
一个JavaScript递归实现反转数组字符串的实例
2014/10/14 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
2015/10/16 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
2016/07/22 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
javascript容错处理代码(屏蔽js错误)
2017/01/20 Javascript
树结构之JavaScript
2017/01/24 Javascript
关于meta viewport中target-densitydpi属性详解(推荐)
2017/08/18 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
ReactNative中使用Redux架构总结
2017/12/15 Javascript
用POSTMAN发送JSON格式的POST请求示例
2018/09/04 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
在Vue mounted方法中使用data变量详解
2019/11/05 Javascript
微信小程序加载机制及运行机制图解
2019/11/27 Javascript
Vue数据双向绑定原理实例解析
2020/05/15 Javascript
[44:09]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第二局
2016/02/25 DOTA
仅利用30行Python代码来展示X算法
2015/04/01 Python
Python基于贪心算法解决背包问题示例
2017/11/27 Python
Python 求数组局部最大值的实例
2019/11/26 Python
pytorch 限制GPU使用效率详解(计算效率)
2020/06/27 Python
Python 删除List元素的三种方法remove、pop、del
2020/11/16 Python
CSS3实现自定义Checkbox特效实例代码
2017/04/24 HTML / CSS
GUESS德国官网:美国牛仔服装品牌
2017/02/14 全球购物
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
MVC的各个部分都有那些技术来实现?如何实现?
2016/04/21 面试题
女方回门宴答谢词
2014/01/14 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
党员批评与自我批评范文
2014/09/23 职场文书
详解TS数字分隔符和更严格的类属性检查
2021/05/06 Javascript
OpenCV绘制圆端矩形的示例代码
2021/08/30 Python