PHP面試題之寫乙個函式算出兩個檔案的相對路徑

2021-07-26 02:28:50 字數 758 閱讀 7860

原題 :

這個問題簡單可以很簡單,複雜可以很複雜

看了下 網上的解題答案,發現只能解答特殊情況的路徑,

// 比如 它們檔案路徑有著一對一的關係

$a = '/a/b/c/d/e.php';

$b = '/a/b/12/34/c.php';

$a = '/e/c/a/e.php';

$b = '/a/b/f/c.php';

於是按照自己的思路重新寫了下.

/**

* 說明 : 不考慮父級目錄與自己目錄的重名情況 即 a/b/a的類似情況

* [getrelationpath a相對於b的 相對路徑]

*@param [type] $a [檔案a的目錄]

*@param [type] $b [檔案b的目錄]

*@return [type] [$a相對$b的路徑]

*/function

getrelationpath

($a,$b)

return

$path.$a_file;}}

}return

false;

}echo getrelationpath($a,$b); // 輸出 ../../e.php

再次強調 : 不考慮父級目錄與子級目錄的重名情況
如果要考慮的話  要使用遞迴 判斷父級與子級的關係,複雜可以很複雜....

乙個面試題

題目是 假設乙個 搜尋引擎收錄了2 24首歌曲,並記錄了可收聽這些歌曲的2 30條url,但每首歌的url不超過2 10個。系統會定期檢查這些url,如果乙個url不可用則不出現在搜尋結果中。現在歌曲名和url分別通過整型的song id和url id唯一確定。對該系統有如下需求 1 通過song ...

乙個面試題

在不超過最右邊的數量的情況下任意組合,要求加起來不超過20280這個數字,但達成最接近的情況,現有一種方法為 1290 4 2990 5,差170,有沒有更接近20280的答案 資料如下 4900 13790 22990 5 意思是不能超過5次,但可以使用1次,2次,3次,4次,5次。2390 31...

乙個面試題

res fromkeys name password age print res print res print id res name id res password res name 666 print res 輸出 57496360 57496360 fromkeys 建立字典時,字典中所有的...