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

    xiaoxiao2021-03-25  119

    一、写一个函数,尽可能高效的,从一个标准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']);

     

    四、冒泡排序

    转载请注明原文地址: https://ju.6miu.com/read-8247.html

    最新回复(0)