服务器之家

服务器之家 > 正文

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

时间:2019-11-06 11:13     来源/作者:php代码网

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

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
返回顶部