我爱编程

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

2017-02-21  本文已影响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

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

上一篇下一篇

猜你喜欢

热点阅读