PHP面试题总结归纳(二)常会问到四道算法函数

来源:互联网 发布:淘宝客线下推广海报 编辑:程序博客网 时间:2024/06/06 02:15

一、写一个函数,尽可能高效的,从一个标准url里取出文件的扩展名(及文件后缀名)

例如:http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php  .php

function getExt($url){$arr=parse_url($url);//parse_url:解析URL,并且以一个关联数组的形式返回URL的各个组成部分。无效字符用_来替换。$file=basename($arr['path']);//basename():返回路径中的文件名信息。$ext=explode(".",$file);//explode:分隔字符串到数组return $ext[1];}


二、写一个函数,算出两个文件的相对路径

例如:写一个函数,算出两个文件的相对路径,如 $a='/a/b/c/d/e.php';$b='/a/b/12/34/c.php';


function getpathinfo($path1, $path2) {     $a2array    = explode('/', dirname($path1));//dirname()返回路径中的目录部分     $b2array    = explode('/', dirname($path2));           $pathinfo   = '';       for( $i = 1; $i <= count($b2array)-1; $i++ ) {         //如果两个路径长度不同下标         if(!isset($a2array[$i])){             $a2array[$i]='';         }elseif(!isset($a2array[$i])){ $b2array[$i]='';         }         $pathinfo.=$a2array[$i] == $b2array[$i] ? '../' : $b2array[$i].'/';              }     return $pathinfo; }


三、遍历文件夹及文件

function show($dirs){

$dir = opendir($dirs);

echo "<ul>";

while($f=readdir($dir)){

if($f!='.' && $f!='..'){

echo "<li>{$f}</li>";

if(is_dir("$dirs/{$f}")){

show("$dirs/{$f}");

}

}

}

echo "</ul>";

}

getFiles("C:\web\HTML5Upload");

//getFiles($_SERVER['DOCUMENT_ROOT']);

 


四、冒泡排序

0 0
原创粉丝点击