PHP 面接の質問:
$a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php'; // $a に対する $b の相対パスは ../../c/d である必要があります
php インタビューの質問への回答:
コードをコピー コードは次のとおりです。
function getRelative($a,$b) {
$arr =explode("/",$a); explode( "/",$b);
$c = count($arr)-2;
$d = count($brr)-2;
//2 を引く理由は次のとおりです。ファイル名
の後ろに 1 つはありません。//1 つは、配列のインデックスが 0 から始まり、配列の最初の次元の数より 1 つ少ないことです。
$e = ($c>$ d) ? $c: $d;
$str1 = $str2 =
for ($j=0;$j$cur_a = isset( $arr[$j] ) ? $arr[$j] : '';
$cur_b = isset($brr[$j]) ?
if ($ cur_a == $cur_b) {
続行;
} else {
if ($j {
$str1.='/'.$cur_a; 🎜>}
if ($j {
$str2.="../";
}
}
}
return $ str2.substr($str1 ,1,strlen($str1))
}