PHP初級面試題是剛要找工作的沒什麼經驗的程式設計師看的,這對我們出去面試提供了不小的幫助,面試官會常常的考到我們,而這時候看的面試題就起了大作用了。
1. 寫一個函數,盡可能有效率的,從一個標準 url 取出檔案的副檔名
例如: http:/ /m.sbmmt.com/course.html 需要取出 html或 .html
#答案一:
function getExt($url){ $arr = parse_url($url); $file = basename($arr['path']); $ext = explode(".",$file); return $ext[1]; }
答案二:
function getExt($url) { $url = basename($url); $pos1 = strpos($url,"."); $pos2 = strpos($url,"?"); if(strstr($url,"?")){ return substr($url,$pos1 + 1,$pos2 - $pos1 - 1); } else { return substr($url,$pos1); } }
2. 在 HTML 語言中,頁面頭部的 meta 標記可以用來輸出檔案的編碼格式,以下是標準的 meta 語句
#請用 PHP 語言寫一個函數,把一個標準 HTML 頁面中的類似 meta 標記中的 charset 部分值改為 big5
請注意:
1. 需要處理完整的 html 頁面,即不光此 meta 語句
2. 忽略大小寫
3. '和 " 在此處是可以互換的
4. 'Content-Type' 兩側的引號是可以忽略的,但 'text/html; charset=gbk' 兩側的不行
5. 注意處理多餘空格
3. 寫一個函數,算出兩個檔案的相對路徑
如
$a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php';
計算出 $b 相對於 $a 的相對路徑應該是 ../../c/d將()添上
答案:
function getRelativePath($a, $b) { $returnPath = array(dirname($b)); $arrA = explode('/', $a); $arrB = explode('/', $returnPath[0]); for ($n = 1, $len = count($arrB); $n < $len; $n++) { if ($arrA[$n] != $arrB[$n]) { break; } } if ($len - $n > 0) { $returnPath = array_merge($returnPath, array_fill(1, $len - $n, '..')); } $returnPath = array_merge($returnPath, array_slice($arrA, $n)); return implode('/', $returnPath); } echo getRelativePath($a, $b);
4.寫一個函數,能夠遍歷一個資料夾下的所有檔案和子資料夾。 ##答:
function my_scandir($dir) { $files = array(); if ( $handle = opendir($dir) ) { while ( ($file = readdir($handle)) !== false ) { if ( $file != ".." && $file != "." ) { if ( is_dir($dir . "/" . $file) ) { $files[$file] = scandir($dir . "/" . $file); }else { $files[] = $file; } } } closedir($handle); return $files; } }
##相關推薦:
php初級面試題之簡述題(一)
#php初級面試題之簡述題(二)php初級面試題之簡述題(三)
以上是php初級面試題之程式設計題(一)的詳細內容。更多資訊請關注PHP中文網其他相關文章!