登录  /  注册

php初级面试题之编程题(一)

韦小宝
发布: 2017-11-17 09:54:45
原创
1995人浏览过

php初级面试题是刚要找工作的没什么经验的程序员看的,这对我们出去面试提供了不小的帮助,面试官会常常的考到我们,而这时候看的面试题就起了大作用了。

1. 写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名

   例如: http://www.php.cn/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, &#39;..&#39;));   
    }   
       
    $returnPath = array_merge($returnPath, array_slice($arrA, $n));   
    return implode(&#39;/&#39;, $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初级面试题之编程题(一)的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号