美文网首页我爱编程
php的一些面试题总结(1)

php的一些面试题总结(1)

作者: 化城 | 来源:发表于2017-02-21 21:49 被阅读166次

    1.用最少的代码写一个求3值最大值的函数.

    function($a,$b,$c){

    return $a>$b? ($a>$c? $a : $c) : ($b>$c? $b : $c );

    }

    2.求两个日期的差数,例如2007-2-5 ~ 2007-3-6 的日期差数

    $begin=strtotime(‘2007-2-5′);

    $end=strtotime(‘2007-3-6′);

    echo ($end-$begin)/(24*3600);

    3.请写一个函数,实现以下功能:字符串“open_door” 转换成 “OpenDoor”、”make_by_id” 转换成 ”MakeById”。

    function str_change($str) {

    $str = str_replace ( “_”, ” “, $str );

    $str = ucwords ( $str );//把每个单词的首字符转换为大写:

    $str = str_replace ( ” “, “”, $str );

    return $str;

    }

    //str_replace(find,replace,string,count)

    //参数描述

    //find必需。规定要查找的值。

    //replace必需。规定替换find中的值的值。

    //string必需。规定被搜索的字符串。

    //count可选。对替换数进行计数的变量。

    相关函数:lcfirst()- 把字符串中的首字符转换为小写

                        strtolower()- 把字符串转换为小写

                        strtoupper- 把字符串转换为大写

    4.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。(目录操作)

    function  my_dir($dir){

    $files=array();

    if(@$handle=opendir($dir)){//注意这里要加一个@,不然会有warning错误提示:)

    while(($file=readdir($handle))!==false){

    if($file!=".."&&$file!="."){//排除根目录;

    if(is_dir($dir."/".$file)){//如果是子文件夹,就进行递归

    $files[$file]=my_dir($dir."/".$file);

    }else{//不然就将文件的名字存入数组;

    $files[]=$file;

    }

    }

    }

    closedir($handle);

    return  $files;

    }

    }

    //以下是测试

    $q_array=my_dir('E:/xxx');

    print_r($q_array);

    //Array ( [0] => article.html [1] => chap-secrets [2] => head.html [3] => iptables [4] => options.pptpd [5] => pptpd.conf [6] => sysctl.conf )

    ?>

    参考:http://blog.csdn.net/anlukun/article/details/8684795

    5.请用最简单的语言告诉我php是什么?

    php全称:hypertext preprocessor,是一种用来开发动态网站的服务器脚本语言。

    6.什么是mvc?

    mvc由model(模型), view(视图)和controller(控制器)组成,php mvc可以更高效地管理好3个不同层的php代码

    model:数据信息存取层。

    view:view层负责将应用的数据以特定的方式展现在界面上。

    controller:通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

    7.在页面中引用css有几种方式?

    在页面中使用css有3中方式:

    引用外部css文件

    内部定义style样式

    内联样式

    8.请问php中echo和print有什么区别?

    echo用来输出字符串,显示多个值的时候可以用逗号隔开。

    只支持基本类型,print不仅可以打印字符串值,而且可以打印函数的返回值。

    9.请问get和post方法有什么区别?

    当我们使用get方法是,所有的信息都会出现在url地址中,并且使用get方法最多只能传递1024个字符,

    所以如果在传输量小或者安全性不那么重要的情况下可以使用get方法。

    说到post方法,最多可以传输2mb字节的数据,而且可以根据需要调节。

    10.php中获取图像尺寸大小的方法是什么?

    getimagesize () 获取图片的尺寸

    imagesx () 获取图片的宽度

    imagesy () 获取图片的高度

    11.php中的错误类型有哪些?

    php中遇到的错误类型大致有3类。

    提示:这都是一些非常正常的信息,而非重大的错误,有些甚至不会展示给用户。比如访问不存在的变量。

    警告:这是有点严重的错误,将会把警告信息展示给用户,但不会影响代码的输出,比如包含一些不存在的文件。

    错误:这是真正的严重错误,比如访问不存在的php类。

    12.如何在php中定义常量?

    php中使用define () 来定义常量。

    define (“newconstant”, 30);

    13.在php中定义常量时,const和define的区别?

    使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数。另外const在编译时要比define快很多。

    1、const用于类成员变量的定义,一经定义,不可修改。Define不可以用于类成员变量的定义,可用于全局常量。

    2、Const可在类中使用,define不能

    3、Const不能在条件语句中定义常量

    14.数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么别?

    int是数字类型,char固定长度字符串,varchar实际长度字符串,datetime日期时间型,text文本字符串 ,char的场地固定为创建表设置的长度,varchar为可变长度的字符

    15.session与cookie的区别?

    session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的,一般

    用于后台和安全性比较高的地方。cookie:是存储在客户端,对于Cookie来说是存储在用户浏览器下面的,一般用户

    登陆,负载压力比较大的地方。可以减轻服务器的负载。

    16.对于大流量的网站,您采用什么样的方法来解决访问量问题?

    确认服务器硬件是否足够支持当前的流量,

    数据库读写分离,优化数据表,程序功能规则,禁止外部的盗链,控制大文件的下载,使用不同主机分流主要流量.

    1、PHP程序上可以使用生成静态文件实现服务数据库压力

    2、使用PHP缓存技术、或第三方的mamcached ,redis等缓存技术实现服务器压力

    17.include和require的区别是什么?为避免多次包含同一文件可用什么代替它们?

    包含文件不存在或者语法错误的时候require是致命的,

    include不是 require需要放在头部预先载入,

    而include放在文件的任何位置随时载入,

    还有一对扩展函数:require_once() include_once()

    18.mysql_fetch_row() 和mysql_fetch_array之间有什么区别?

    mysql_fetch_row 是从结果集取出1行数组,作为枚举

    mysql_fetch_array 是从结果集取出一行数组作为关联数组,或数字数组,两者兼得.

    19.不用数据库,验证登陆的用户名和密码

    提交数据时把数据存储在本地cookie下,或都把它存储在某一文件内(用php生成)

    20.mysql简单的查询语句,并打印。

    <?php

    $con = mysql_connect("localhost","peter","abc123");

    if (!$con) {die('Could not connect: ' . mysql_error());}

    mysql_select_db("my_db", $con);

    $result = mysql_query("SELECT * FROM Persons");

    while($row = mysql_fetch_array($result))

    {

    echo $row['FirstName'] . " " . $row['LastName'];

    echo "
    ";

    }

    mysql_close($con);

    ?>

    21.简述两种屏蔽php程序的notice警告的方法

    初始化变量,文件开始设置错误级别或者修改php.ini 设置error_reporting

    set_error_handler 和 @抑制错误

    1.在程序中添加:error_reporting (E_ALL & ~E_NOTICE);

    2.或者修改php.ini中的:error_reporting = E_ALL

    改为:error_reporting = E_ALL & ~E_NOTICE

    3.error_reporting(0);或者修改php.inidisplay_errors=Off

    如果有错误,请留言。以上摘抄网络上的。有些并没有验证。

    相关文章

      网友评论

        本文标题:php的一些面试题总结(1)

        本文链接:https://www.haomeiwen.com/subject/qaguwttx.html