一道求$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 jquery 实现新闻标签分类与无刷新分页
Dec 18 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
Jun 28 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
Jun 17 PHP
PHP实现PDO的mysql数据库操作类
Dec 12 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
Oct 23 PHP
Thinkphp3.2实用篇之计算型验证码示例
Feb 09 PHP
PHP面相对象中的重载与重写
Feb 13 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 PHP
php如何计算两坐标点之间的距离
Dec 29 PHP
PDO::getAttribute讲解
Jan 28 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
May 28 PHP
如何用PHP websocket实现网页实时聊天
May 26 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文件时顶部出现空白影响布局分析原因及解决办法
2013/01/11 PHP
php curl模拟post提交数据示例
2013/12/31 PHP
11个PHPer必须要了解的编程规范
2014/09/22 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
关于laravel 日志写入失败问题汇总
2019/10/17 PHP
PHP实现简易用户登录系统
2020/07/10 PHP
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
动态加载dtree.js树treeview(示例代码)
2013/12/17 Javascript
javascript基于HTML5 canvas制作画箭头组件
2014/06/25 Javascript
javascript几个易错点记录
2014/11/26 Javascript
jQuery实现ichat在线客服插件
2014/12/29 Javascript
JavaScript限定图片显示大小的方法
2015/03/11 Javascript
简介JavaScript中POSITIVE_INFINITY值的使用
2015/06/05 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
2016/05/19 Javascript
JavaScript生成图形验证码
2020/08/24 Javascript
vuex提交state&amp;&amp;实时监听state数据的改变方法
2018/09/16 Javascript
新手如何快速理解js异步编程
2019/06/24 Javascript
在vue-cli3中使用axios获取本地json操作
2020/07/30 Javascript
[03:01]2014DOTA2国际邀请赛 DC:我是核弹粉,为Burning和国土祝福
2014/07/13 DOTA
详解Python自建logging模块
2018/01/29 Python
tensorflow 加载部分变量的实例讲解
2018/07/27 Python
在Python中使用gRPC的方法示例
2018/08/08 Python
利用python和百度地图API实现数据地图标注的方法
2019/05/13 Python
Flask框架学习笔记之模板操作实例详解
2019/08/15 Python
用Python在Excel里画出蒙娜丽莎的方法示例
2020/04/28 Python
css3选择器基本介绍
2014/12/15 HTML / CSS
基于HTML5 audio元素播放声音jQuery小插件
2011/05/11 HTML / CSS
如何用H5实现一个触屏版的轮播器的实例
2017/01/09 HTML / CSS
Crabtree & Evelyn英国官网:瑰珀翠护手霜、香水、沐浴和身体护理
2018/04/26 全球购物
介绍一下XMLHttpRequest对象
2012/02/12 面试题
护理专科毕业生自荐书范文
2014/02/19 职场文书
食品业务员岗位职责
2014/03/18 职场文书
保护黄河倡议书
2014/05/16 职场文书
群众路线个人剖析材料及整改措施
2014/11/04 职场文书
Oracle更换为MySQL遇到的问题及解决
2021/05/21 Oracle
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库