分享一些看到的有趣的php题目

646次阅读

共计 2688 个字符,预计需要花费 7 分钟才能阅读完成。

1、请写出 PHP 的定义,php 能做些什么?

答:PHP是一个基于服务端来创建动态网站的脚本语言,您可以用PHP和HTML生成网站主页,英文的全称(PHP Hypertext Preprocessor [ 超级文本预处理语言 ])。

1、WEB开发、实现订单、网络通信、在线支付、一切互联网可以实现的工作。
2、脚本的开发,Shell 脚本、 windows的计划任务等。
3、软件的开发,PHP-GTK等第三方的软件,使用php语法配合其他的语言开发软件。

2、谈谈对mvc的认识?

答:由模型(model),视图(view),控制器(controller)完成的应用程序,由模型发出要实现的功能到控制器,控制器接收组织功能传递给视图。

3、GD库是做什么用的?

答:GD库提供了一系列用来处理图片的功能,使用GD库可以处理图片,或者生成图片。在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。现在常用的GD2功能更强大,可以实现对gif、png图片的处理

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

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

5、表单中 get 与 post 提交方法的区别?

答:get是发送请求HTTP协议通过url参数传递进行接收而post是实体数据,可以通过表单提交大量信息.

6、session与cookie的区别?

答:session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的一般用于后台和安全性比较高的地方。cookie:是存储在客户端,对于Cookie来说是存储在用户浏览器下面的,一般用户登陆,负载压力比较大的地方。可以减轻服务器的负载。

7、echo(),print(),print_r()的区别?

答:echo是PHP语句,主要用于输出一个或者多个字符串,没有返回值。
print和print_r是函数,函数可以有返回值。print返回的是int类型的值;print_r() 返回bool类型值,按结构输出变量的值。打印关于变量的易于理解的信息[数组、对象等]。
print()只能打印出简单类型变量的值(如int,string),print_r()可以打印出复杂类型变量的值(如数组,对象)。

8、请写一个函数验证电子邮件的格式是否正确(要求使用正则)?

答:preg_match(‘/^[\w\-\.]+@[\w\-]+(\.\w+)+$/’, $email);

8、什么是模板技术?比较常见的模板有哪些?

答:模板技术就是使PHP和HTML、CSS、JS 分离,实现更加合理和代码的部署。常见的模板有:Smarty ,XTemplate, Template Lite, Easy Templat

9、常使用哪些工具进行版本控制?

答:Cvs Svn Vss

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

答:
(1)确认服务器硬件是否足够支持当前的流量,数据库读写分离,优化数据表,程序功能规则,禁止外部的盗链,控制大文件的下载,使用不同主机分流主要流量。
(2)PHP程序上可以使用生成静态文件实现服务数据库压力
(3)使用PHP缓存技术、或第三方的mamcached 等缓存技术实现服务器压力

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

答:包含文件不存在或者语法错误的时候 require 会报一个致命的错误,而 include 则不是。require 需要放在头部预先载入,而 include 放在文件的任何位置随时载入。为避免多次包含同一文件常常用 require_once() include_once() 来代替他们。

12、mysql_fetch_row() 和mysql_fetch_array之间有什么区别?

答:mysql_fetch_row 是从结果集取出1行数组,作为枚举。mysql_fetch_array 是从结果集取出一行数组作为关联数组,或数字数组,两者兼得。

13、请写出你接触过的PHP框架?

这个就根据自己的实际情况来了,比较常见的框架有:YII CI KOHANA THINKPHP ZENDFARMEWORK

14、用 PHP 打印出昨天的时间,7天前的时间?

echo date(‘Y-m-d H:i:s’,strtotime(‘-1 day’));

echo date(‘Y-m-d H:i:s’,strtotime(‘-7 day’));

15、假设现有如下一段代码,请写出最终的输出结果?

$a=”www.phpernote.com”;
$b=&$a;
unset($b);
$b=”www.baidu.com”;
echo $a;

答:输出结果:www.phpernote.com

16、用 php 实现不使用第3个变量,交换$a、$b的值,$a、$b的初始值自己定。

$a=333;
$b=444;
$b=$a.”#”.$b;
$b=explode(“#”,$b);
$a=$b[1];
$b=$b[0];

17、数据库中的事务是什么意思?

答:事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。

18、用PHP打印出前一天的时间?格式如 2006-5-10 22:21:21

答:echo date(‘Y-m-d H:i:s’, strtotime(‘-1 days’));

19、请说明php中传值与传引用的区别。什么时候传值什么时候传引用?

答:按值传递:函数范围内对值的任何改变在函数外部都会被忽略;按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改。优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。按引用传递则不需要复制值,对于性能提高很有好处。

20、在PHP中error_reporting这个函数是做什么用的?

答:设置错误级别与错误信息回报。

21、请写出php5的构造函数和析构函数?

答:__construct , __destruct

22、请写出一个实现中文字串截取无乱码的函数?

答:mb_substr()

23、如何使用 PHP 打印出客户端IP与服务器IP ?

正文完
 2