坚持原创,坚持真实,坚持更新
看到网上很多人的博客代码都是直接复制,有时候想查一个东西的时候,用搜索引擎搜索到的结果不少,但是真正自己写的东西不多,废话少说,开始今天的习题:
题目:$a = "/a/b/c/d/a.gif", $b = "/a/b/21/d/abc.png",请用函数计算出两者不同路径的部分。
<?php
//题目:$a = "/a/b/c/d/a.gif", $b = "/a/b/21/d/abc.png",请用函数计算出$b相对于$a的路径。
function getpath($a, $b)
{
$arr = explode("/", $a);
$brr = explode("/", $b);
//计算数组的长度为一会的for循环做准备
$alen = count($arr) - 1;
$blen = count($brr) - 1;
$leng = ($alen - $blen) > 0 ? $blen : $alen;
$str1 = $str2 = "";
for ($i = 0; $i < $leng; $i++) {
$cur_a = isset($arr[$i]) ? $arr[$i] : '';
$cur_b = isset($brr[$i]) ? $brr[$i] : '';
if ($cur_a == $cur_b) {
$path .= "../";
continue;
} else {
if ($i <= $alen){
$str1 .='/'.$cur_a;
}
if ($i <= $blen){
$str2 .="../";
}
}
}
return $str2 . substr($str1,1,strlen($str1));
}
echo getpath("/a/b/c/d/a.gif","/a/b/21/d/abc.png");
?>