一道求$b相对于$a的相对路径的php代码

时间:2023-07-12 05:37:46 

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));
}

标签:相对路径
0
投稿

猜你喜欢

  • C#中实现查找mysql的安装路径

    2024-01-24 05:48:15
  • Go http请求排队处理实战示例

    2024-05-21 10:26:58
  • python的环境conda简介

    2022-12-24 18:40:30
  • Mysql中复制详细解析

    2024-01-13 20:46:25
  • django为Form生成的label标签添加class方式

    2022-08-13 12:01:44
  • 基于SQL Server的C/S数据库应用系统

    2009-01-21 14:44:00
  • Python使用LRU缓存策略进行缓存的方法步骤

    2023-09-03 05:00:06
  • Python之dict(或对象)与json之间的互相转化实例

    2023-05-14 04:26:00
  • 使用python执行shell脚本 并动态传参 及subprocess的使用详解

    2021-05-30 22:46:49
  • 关于python DataFrame的合并方法总结

    2022-02-02 14:13:58
  • Pytorch随机数生成常用的4种方法汇总

    2022-02-07 09:25:34
  • Django中modelform组件实例用法总结

    2023-09-28 14:35:49
  • 使用 python pyautogui实现鼠标键盘控制功能

    2023-11-17 07:01:41
  • MySql使用mysqldump 导入与导出方法总结

    2024-01-23 13:26:32
  • Jupyter notebook 启动闪退问题的解决

    2023-11-17 21:08:58
  • 超详细注释之OpenCV制作图像Mask

    2021-10-20 14:15:34
  • Python中eval函数的表达式作用示例

    2022-06-14 02:18:32
  • JS 实现10进制转换36进制的示例代码

    2024-04-28 09:50:01
  • ASP.NET Core基于现有数据库创建EF模型

    2024-01-25 15:56:04
  • python实现逆滤波与维纳滤波示例

    2023-07-01 16:36:25
  • asp之家 网络编程 m.aspxhome.com