一道求$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 相关文章推荐
做个自己站内搜索引擎
Oct 09 PHP
phpinfo 系统查看参数函数代码
Jun 05 PHP
使用php语句将数据库*.sql文件导入数据库
May 05 PHP
php运行时动态创建函数的方法
Mar 16 PHP
PHP简单操作MongoDB的方法(安装及增删改查)
May 26 PHP
PHP机器学习库php-ml的简单测试和使用方法
Jul 14 PHP
php使用ftp实现文件上传与下载功能
Jul 21 PHP
php-msf源码详解
Dec 25 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 PHP
PHP设计模式之观察者模式定义与用法示例
Aug 04 PHP
PHP封装的分页类与简单用法示例
Feb 25 PHP
详解laravel passport OAuth2.0的4种模式
Nov 04 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 导出数据到淘宝助手CSV的方法分享
2010/02/27 PHP
php中AES加密解密的例子小结
2014/02/18 PHP
PHP判断是否为空的几个函数对比
2015/04/21 PHP
CI框架常用方法小结
2016/05/17 PHP
完美解决php 导出excle的.csv格式的数据时乱码问题
2017/02/18 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
2017/04/15 PHP
PHP实现动态获取函数参数的方法示例
2018/04/02 PHP
PHP实现多图上传和单图上传功能
2018/05/17 PHP
Laravel5.1框架注册中间件的三种场景详解
2019/07/09 PHP
实现超用户体验 table排序javascript实现代码
2009/06/22 Javascript
javascript DOM编程实例(智播客学习)
2009/11/23 Javascript
javascript取消文本选定的实现代码
2010/11/14 Javascript
基于jQuery实现的百度导航li拖放排列效果,即时更新数据库
2012/07/31 Javascript
JavaScript获取XML数据附示例截图
2014/03/05 Javascript
javascript中键盘事件用法实例分析
2015/01/30 Javascript
jQuery中的pushStack实现原理和应用实例
2015/02/03 Javascript
创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件
2016/06/02 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
JS输出空格的简单实现方法
2016/09/08 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
2017/09/10 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
2018/03/21 Javascript
在antd Form表单中select设置初始值操作
2020/11/02 Javascript
详解Django中的权限和组以及消息
2015/07/23 Python
python snownlp情感分析简易demo(分享)
2017/06/04 Python
浅谈python中requests模块导入的问题
2018/05/18 Python
详解Python中的type和object
2018/08/15 Python
python 爬虫百度地图的信息界面的实现方法
2019/10/27 Python
flask框架url与重定向操作实例详解
2020/01/25 Python
浅谈python输出列表元素的所有排列形式
2020/02/26 Python
django rest framework serializers序列化实例
2020/05/13 Python
全天然狗零食:Best Bully Sticks
2016/09/22 全球购物
军训的自我鉴定
2013/12/10 职场文书
毕业生护理专业个人求职信范文
2014/01/04 职场文书
大学生简短的自我评价分享
2014/02/20 职场文书
毕业论文指导教师评语
2014/12/30 职场文书
python基于opencv批量生成验证码的示例
2021/04/28 Python