`

php常见面试题目(编程篇)

    博客分类:
  • PHP
阅读更多

~~文接前篇~~

 

二.编程篇

 

1. 写个函数来解决多线程同时读写一个文件的问题。
答:

<?php
    function swritefile($filename,$writecontent,$openmode='w'){
        if(@$fp=fopen($filename,$openmode)){
            flock($fp,2);
            fwrite($filename,$writecont);
            fclose($fp);
            return true;
        }esle{
            return false;
          }
    }
?>
 


2. 请写一个函数验证电子邮件的格式是否正确(要求使用正则)
答:

<?php
    function emailCheck($str){
        $valid = '/^[\w\-\.]+@[\w\-]+(\.[\w\-]+)+$/';
        if(preg_match($valid, $str)){
            echo 'ok';
        }else{
            echo 'no';
        }
    }
?>
 


3、写一个函数,可以遍历文件夹下的所有文件和文件夹。

答:

<?php
    function listDir($path){
        if($handle = opendir($path)){
            while(false !== ($file = readdir($handle))){
                if($file != '.' && $file != '..'){
                    echo $file;
                }
            }
            closedir($handle);
        }
    }
?>
 



4.    写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名
例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php

答:

<?php
    function getExtension1($url){
        $a = explode("/",$url);
        $c = explode("?",$a[count($a)-1]);
        $b = explode(".",$c[0]);
   
        return $b[1];
    }
   
    function getExtension2($url){
      $parse_url = parse_url($url);
      $path = $parse_url['path'];
      $pos = strrpos($path,'.');
      return !$path || !$pos ? NULL : substr($path,$pos);
    }
   
    function getExtension3($p) {
      $pos = strrpos($p,'.'); //strrpos()找出字元最后一次出现的位置
      $ex = substr($p,$pos,4);
      return $ex;
    }
?>
 


5. 写出冒泡排序算法(要写出代码)操作数组。
答:

<?php
    function maopao($arr) {
        for($i=0; $i<count($arr); $i++){
            for($j=$i+1; $j<count($arr); $j++){
                if($arr[$i] > $arr[$j]){
                    $temp = $arr[$j];
                    $arr[$j] = $arr[$i];
                    $arr[$i] = $temp;
                }
            }
        }
        print_r($arr);
    }
?>
 


6. 写个函数用来对二维数组排序。
答:

<?php
    function array_sort_by_any_row($array_name, $row_id,$order_type){
       $array_temp=array();
       foreach($array_name as $key=>$value){
           $array_temp[$key]=$value[$row_id];               
        }
       if($order_type==="ASC"){ //顺序
           asort($array_temp);
        } else{
           arsort($array_temp);
       }  
       $result_array=array();
       foreach($array_temp as $key=>$value){
           $result_array[$key]=$array_name[$key];     
        }
         
        return$result_array;   
    }
   
    $arr = array(array('num'=>5,'value'=>6),
                array('num'=>2, 'value'=>39),
                array('num'=>36, 'value'=>29)
          );
   
    $sortarr = array_sort_by_any_row($arr, 'num', 'DESC');
    print_r($sortarr);
?>
 


7. 写5个不同的自己的函数,来截取一个全路径的文件的扩展名,允许封装php库中已有的函数。
答:

<?php
    $path = str_replace('\\', '/',__FILE__);
    echo $path.'<br />';
    function extname1($path) {
        return strrchr($path, '.');
    }
   
    function extname2($path) {
        $position =strrpos($path, '.');
        return substr($path, $position);
    }
   
    function extname3($path) {
        $arr =explode('.', $path);
        return $arr[count($arr) - 1];
    }
   
    function extname4($path) {
       preg_match_all('/[\w\/\:\-]+\.([\w]+)$/', $path, $out);
        return $out[1][0];
    }
   
    function extname5($path) {
        return preg_replace('/^[^\.]+\.([\w]+)$/', '${1}', basename($path));
    }
   
    print_r(extname5($path));
?>
 


8.一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去...,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n,输出最后那个大王的编号。
答:

yuesefu(约瑟夫)环问题。
<?php
function yuesefu($n,$m) {
    $r=0;
    for($i=2;$i<=$n; $i++) {
      $r=($r+$m)%$i;
    }
    return $r+1;
}
print_r(yuesefu(3,3));
?>
 
分享到:
评论

相关推荐

    php初级程序员面试题目

    在PHP的世界里,初级程序员面试通常会涵盖一系列基础到中等难度的问题,旨在评估候选人的基础知识、编程技能以及解决问题的能力。以下是一些可能出现在PHP面试中的常见知识点,这些知识点对于准备面试的初级PHP...

    php面试题目

    ### PHP面试知识点详解 #### 正则表达式风格对比:POSIX vs Perl 在PHP中,正则表达式的处理可以通过两种不同的风格实现:POSIX风格和Perl风格。这两种风格主要通过不同的函数集来体现。 - **POSIX风格**:基于...

    php100-96PHP程序员经典面试&笔试题目解析(上).rar

    【描述解析】:描述中同样提到了“php100-96PHP程序员经典面试&笔试题目解析(上).rar”,暗示这是一个针对PHP程序员的面试和笔试准备资料,可能包括了常见问题、难点解析以及解题技巧等内容。由于没有更具体的信息...

    PHP工程师面试题目副本-09

    在准备PHP工程师的面试时,了解常见的面试题目和相关知识点是至关重要的。这份"PHP工程师面试题目副本-09"文档很可能包含了多个方面的问题,旨在评估候选人的技能水平、项目经验以及对PHP语言的理解深度。以下是一些...

    2010_腾讯php程序员面试题目

    在2010年,腾讯对PHP程序员的面试题目展示了该公司对技术能力、问题解决技巧以及编程思维的重视。作为一家互联网巨头,腾讯对于PHP程序员的选拔标准是高且全面的,涵盖了基础语法、数据库操作、算法理解、系统设计等...

    php面试题目及答案

    ### PHP面试题目及答案 #### 基础题知识点 **1. 表单中GET与POST提交方法的区别** - **GET**:通过URL参数传递信息进行接收。适用于小量的数据传输,且数据不会被保存到浏览器历史记录中。GET请求通常用于获取...

    PHP程序员面试宝典 笔试 (PHP版).zip

    这个压缩包中的核心文件是"PHP程序员面试宝典 笔试 (PHP版).pdf",它很可能是详细讲解了PHP编程语言的关键概念、面试技巧以及常见笔试题目的解答。 首先,让我们深入探讨PHP的基础知识,这是任何PHP面试的起点。PHP...

    面试锦囊妙计经典java asp.net php 面试题目

    下面将详细讲解这些技术领域的一些常见面试知识点,旨在帮助你准备即将到来的面试。 首先,让我们关注Java。Java是一种广泛使用的面向对象的编程语言,以其“一次编写,到处运行”的特性而闻名。面试中可能会考察...

    精选常见mysql五十五道面试题目

    以下是一些关于MySQL的面试题目及其解析,涵盖了基础概念、数据类型、存储引擎、事务处理等多个方面。 1. 关于ID自增的问题,实际上取决于表使用的存储引擎。MyISAM表在数据文件中保存了自增主键的最大值,即使删除...

    新浪PHP面试题新浪PHP面试题

    【标题】"新浪PHP面试题"所涉及到的知识点主要涵盖了PHP编程语言在实际应用和面试中的常见问题。作为中国知名互联网公司新浪的面试题目,这些题目反映了新浪对PHP开发人员的技术要求和期望。 【描述】虽然描述部分...

    程序员面试之葵花宝典,全面常见的面试题,有答案,编程方面全面提高

    《程序员面试之葵花宝典》是一本针对程序员面试精心编撰的指南,它涵盖了广泛且常见的面试题目,旨在帮助程序员在编程技能方面进行全面的提升。这本书不仅包含了问题,还提供了详细的答案,使得读者能够在实践中学习...

    PHP笔试题D库

    【PHP笔试题D库】是LAMP兄弟连精心整理的一份涵盖PHP技术的笔试题集,这份资源汇聚了他们五年来收集的面试题目,旨在帮助准备面试的开发者提高通过率,提升自身技能。"LAMP"是Linux、Apache、MySQL、PHP四种技术的首...

    前端笔试面试题目总结.docx编程资料

    ### 前端笔试面试题目总结 #### HTTP 请求与响应头字段 - **请求头**:常见的请求头字段包括但不限于 `Accept`(指定客户端能够接收的内容类型)、`Authorization`(认证信息)、`Cache-Control`(缓存控制指令)...

    PHP面试题_php_

    对于提供的文档列表,如"面试题4.doc、面试题3.doc、笔试题.doc、面试题2.doc、PHP面试题",这些文档很可能是具体的面试题目集合,通过研读并解答它们,可以更好地准备面试,检验自己的PHP技能。

    php面试经典题,笔试必备

    【PHP面试经典题详解】 ...了解并熟练运用这些内容,将有助于在面试中脱颖而出,展示扎实的编程功底和问题解决能力。在准备面试时,还应关注PHP最新版本的特性和最佳实践,以及相关框架和开发工具的使用经验。

    php面试题大全

    以上只是一部分可能涵盖的面试知识点,"PHP面试题(一).doc"文件可能还包含更多细节和具体题目。在面试准备过程中,除了理解这些概念,还要通过实践来巩固,以便在面试时能够灵活运用。同时,了解最新的PHP版本更新和...

    中高级ASP.NET程序员面试题目实例.pdf,这是一份不错的文件

    这篇文档是针对中高级ASP.NET程序员的面试题目实例,涵盖了多个方面,旨在全面评估候选人的技术能力、项目经验和职业素养。以下是对这些面试题目的详细解读: 1. **自我介绍和项目经历**:这是了解候选人个人背景和...

    PHP程序员面试题A类含答案.zip

    这份"PHP程序员面试题A类含答案.zip"压缩包文件是为那些准备参加PHP程序员面试的人精心准备的资料,旨在帮助他们更好地理解和掌握PHP的核心概念、语法以及常见问题。 文档"笔试题-基础题.docx"涵盖了PHP的基础知识...

    常见的PHP面试题及其简要答案.zip

    下面是一些常见的PHP面试题及其简要答案,这些题目涵盖了基础语法、函数使用、面向对象编程、数据库交互以及安全实践等方面。 1. **PHP是什么?** PHP(Hypertext Preprocessor)是一种开源的服务器端脚本语言,...

    PHP面试题(笔试题)

    这些题目通常涵盖PHP语言的基础到高级概念,包括语法、函数、类与对象、错误处理、数组操作、字符串处理、数据库交互、文件系统操作、session和cookie管理、面向对象编程(OOP)、设计模式以及性能优化等方面。...

Global site tag (gtag.js) - Google Analytics