一道求$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
dedecms模板标签代码官方参考
Mar 17 PHP
PHP5与MySQL数据库操作常用代码 收集
Mar 21 PHP
去除php注释和去除空格函数分享
Mar 13 PHP
php生成高清缩略图实例详解
Dec 07 PHP
PHP的全局错误处理详解
Apr 25 PHP
PHP+Apache+Mysql环境搭建教程
Aug 01 PHP
jQuery+php简单实现全选删除的方法
Nov 28 PHP
PHP 二级子目录(后台目录)设置二级域名
Mar 02 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
Aug 14 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
Oct 13 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
May 31 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
url decode problem 解决方法
2011/12/26 PHP
PHP CodeBase:将时间显示为&quot;刚刚&quot;&quot;n分钟/小时前&quot;的方法详解
2013/06/06 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
PHP7新特性
2021/03/09 PHP
JavaScript 的方法重载效果
2009/08/07 Javascript
对xmlHttp对象的理解
2011/01/17 Javascript
非主流的textarea自增长实现js代码
2011/12/20 Javascript
JavaScript字符串对象slice方法入门实例(用于字符串截取)
2014/10/16 Javascript
javascript函数自动执行常用方法汇总
2016/03/28 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
2016/11/21 Javascript
jQuery实现圣诞节礼物动画案例解析
2016/12/25 Javascript
jQuery插件HighCharts实现的2D回归直线散点效果示例【附demo源码下载】
2017/03/09 Javascript
Vue响应式添加、修改数组和对象的值
2017/03/20 Javascript
javaScript 逻辑运算符使用技巧整理
2017/05/03 Javascript
vue-cli2打包前和打包后的css前缀不一致的问题解决
2018/08/24 Javascript
angularJs在多个控制器中共享服务数据的方法
2018/09/30 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
微信小程序简单的canvas裁剪图片功能详解
2019/07/12 Javascript
[02:27]《DAC最前线》之附加赛征程
2015/01/29 DOTA
wxPython窗口中文乱码解决方法
2014/10/11 Python
详解用python自制微信机器人,定时发送天气预报
2019/03/25 Python
python django model联合主键的例子
2019/08/06 Python
Pytorch实现基于CharRNN的文本分类与生成示例
2020/01/08 Python
Python confluent kafka客户端配置kerberos认证流程详解
2020/10/12 Python
html5定位获取当前位置并在百度地图上显示
2014/08/22 HTML / CSS
美国汽车轮胎和轮毂销售网站:Tire Rack
2018/01/11 全球购物
大学生自我鉴定范文模板
2014/01/21 职场文书
名企HR怎样看待求职信
2014/02/23 职场文书
求职简历自我评价范例
2014/03/12 职场文书
小学假期安全广播稿
2014/09/28 职场文书
2015年感恩节活动总结
2015/03/24 职场文书
教师学习心得体会范文
2016/01/21 职场文书
2007年老电脑安装win11会怎么样? 网友实测win11在老电脑运行良好
2021/11/21 数码科技
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python