PHP程序员站--PHP编程开发平台
 当前位置:主页 >> PHP高级编程 >> 开发技巧 >> 

一道求$b相对于$a的相对路径的php面试题

一道求$b相对于$a的相对路径的php面试题

来源:网络转载  作者:  发布时间:2010-08-22
php面试题的题目: $a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c

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


延伸阅读:
几大国际知名企业面试题总汇
华为面试题
经典面试题
Google 面试题
微软面试题全集
6道php面试题,看你会几个
据说是一家大公司的PHP面试题
php程序员面试题
PHP面试题汇总
据说是yahoo的php面试题(E文的哦)
百度面试题集锦
一份村官面试题
某公司一份英文php面试题(E文好的一定要看了)
oracle面试题
变态IQ面试题
PHP高级工程师的面试题
DIVCSS网页布局的8条面试题目
VeryCD网站开发PHP程序员基础面试题
北京某信息技术公司的php面试题
新浪php工程师面试题
一道关于php变量引用的面试题
Tags: 相对路径   php   面试题  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号