香港高速VIP云机房火爆上线啦!无需备案,开通即用!配套《巅云自助建站系统3.0》将带给您飞一般的可视化拖拽建站体验,欢迎免费体验。

建站专题

PHP经典面试题集锦

一佰互联网站开发设计(www.yinxi.net) 发布日期 2019-04-28 13:45:27 浏览数: 55

本文较为详细的分析了PHP经典面试题。分享给大家供大家参考。具体如下:

做了一下网络上的php题目,不知不觉做到现在.....把答案贴出来,供参考之用。

1、用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分)

$a = date("Y-m-d H:i:s", strtotime("-1 day"));print_r($a);

2、echo(),print(),print_r()的区别(3分)echo 和print不是一个函数,是一个语言结构int print(string $arg), 只有一个参数echo arg1,arg2; 可以输出多个参数,返回voidecho和print只能打印出string,不能打印出结构print_r能打印出结构比如

$arr = array("key"=>"value");print_r($arr);

3、能够使HTML和PHP分离开使用的模板(1分)smarty,phplib

4、使用哪些工具进行版本控制?(1分)svn,git,cvs

5、如何实现字符串翻转?(3分)英文:strrev($a)中文或其他文字:中文:GB2312, 代码是使用GB2312编码

<?php function reverse($str){ $ret = "";  len=mbstrwidth(str,"GB2312"); for(i=0;i< len;i++) { arr[]=mbsubstr(str, $i, 1, "GB2312"); } return implode("", array_reverse($arr));}print_r(reverse("你好"));

6、优化MYSQL数据库的方法。(4分,多写多得)语句方面:1 使用索引,增加查询效率2 优化查询语句,提高索引命中率数据库涉及方面:1 构造分库分表,提高数据库的存储和扩展能力2 根据需要使用不同的存储引擎

7、PHP的意思(送1分)超级文本预处理语言Hypertext PreProcessor

8、MYSQL取得当前时间的函数是?,格式化日期的函数是(2分)

CURRENT_TIMESTAMP()DATE_FORMAT()select DATE_FORMAT("2011-11-21 10:10:10", "%Y-%m-%d");

9、实现中文字串截取无乱码的方法。(3分)

mb_substr($str, 1, 1, "GB2312");

10、您是否用过版本控制软件? 如果有您用的版本控制软件的名字是?(1分)svngit

11、您是否用过模板引擎? 如果有您用的模板引擎的名字是?(1分)smarty

12、请简单阐述您最得意的开发之作(4分)XXX

13、对于大流量的网站,您采用什么样的方法来解决访问量问题?(4分)1 有效使用缓存,增加缓存命中率2 使用负载均衡3 对静态文件使用CDN进行存储和加速4 想法减少数据库的使用5 查看出现统计的瓶颈在哪里

14、用PHP写出显示客户端IP与服务器IP的代码1分)$_SERVER["REMOTE_ADDR"]$_SERVER["SERVER_ADDR"]

15、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们? (2分)在失败的时候:include产生一个warning,而require产生直接产生错误中断require在运行前载入include在运行时载入require_onceinclude_once

16、如何修改SESSION的生存时间(1分).session_set_cookie_params

17、有一个网页地址, 比如PHP研究室主页: //www.yinxi.net/index.html,如何得到它的内容?($1分)file_get_contentscurl

18、在HTTP 1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用 header 函数,其语句为(?);(2分)未授权

header("HTTP/1.0 404 Not Found");

fast CGI中:

header("Status: 404 Not Found");

19、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?(1分)成对出现

$a = <<EODgood testEOD;

20、谈谈asp,php,jsp的优缺点(1分)asp是需要依赖IIS,是微软开发的语言php和jsp可以依赖apache或者 nginx等其他服务器

21、谈谈对mvc的认识(1分)model : 数据结构层view :展现control : 接收和判断处理输入

22、写出发贴数最多的十个人名字的SQL,利用下表:members(id,username,posts,pass,email)(2分)select top 10 id,username from members order by posts desc

23. 请说明php中传值与传引用的区别。什么时候传值什么时候传引用?(2分)&表示传引用函数中参数传引用会将参数进行改变一般在输出参数有多个的时候可以考虑使用引用

24. 在PHP中error_reporting这个函数有什么作用? (1分)设定error的展示级别

25. 请写一个函数验证电子邮件的格式是否正确 (2分)

$str = "jianfeng@126.com";regex="([a−z0−9.−]+)@([da−z.−]+).([a−z.]2,6)" ; //正则return preg_match(regex,str)

26. 简述如何得到当前执行脚本路径,包括所得到参数。(2分)$argc --获取参数数量$argv --获取参数列表

27.如何修改SESSION的生存时间. (1分)session_set_cookie_params

28、JS表单弹出对话框函数是?获得输入焦点函数是? (2分)

alert()confirm()promopt()focus() 

29、JS的转向函数是?怎么引入一个外部JS文件?(2分)

window.location.href="#"<script src="#"></script>

30、foo()和@foo()之间有什么区别?(1分)@代表所有warning忽略 

31、如何声明一个名为”myclass”的没有方法和属性的类? (1分)

class myclass{}

32、如何实例化一个名为”myclass”的对象?(1分)

$myclass = new myclass();

33、你如何访问和设置一个类的属性? (2分)

<?phpclass A{ public $name = "A";}$a = new A();n=a->name;print_r($n);

34、mysql_fetch_row() 和mysql_fetch_array之间有什么区别? (1分)mysql_fetch_array() 是 mysql_fetch_row() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。

<?phpmysql_connect("localhost", "mysql_user", "mysql_password") ordie("Could not connect: " . mysql_error());mysql_select_db("mydb");$result = mysql_query("SELECT id, name FROM mytable");while (row=mysqlfetcharray(result, MYSQL_ASSOC)) {printf ("ID: %s Name: %s", row["id"],row["name"]);}mysql_free_result($result);

35、GD库是做什么用的? (1分)

动态的开放的图片处理库

36、指出一些在PHP输入一段HTML代码的办法。(1分)

echo "{html}"echo <<EOD{html}EOD;

37、下面哪个函数可以打开一个文件,以对文件进行读和写操作?(1分) c(a) fget() (b) file_open() (c) fopen() (d) open_file()

38、下面哪个选项没有将 john 添加到users 数组中? (1分) b(a) $users[] = ‘john";(b) array_add($users,"john");(c) array_push($users,‘john");(d) $users ||= ‘john";

39、下面的程序会输入是否?(1分) 10

$num = 10;function multiply(){num=num * 10;}multiply();echo $num;?>

40、使用php写一段简单查询,查出所有姓名为“张三”的内容并打印出来 (2分)表名 UserName Tel Content Date 张三 13333663366 大专毕业 2006-10-11 张三 13612312331 本科毕业 2006-10-15 张四 021-55665566 中专毕业 2006-10-15请根据上面的题目完成代码:

$mysql_db=mysql_connect("local","root","pass");@mysql_select_db("DB",$mysql_db);$sql = sprintf("select * from %s where UserName = "%s"",  "表名",  "张三");values=mysqlquery(sql);while(item=mysqlfetchqueryarray(values)){ echo sprintf("用户名:%s, 电话 %s, 学历: %s, 毕业日期: %s",  item["UserName"],item["Tel"], item["Content"],item["Date"] );}

41、如何使用下面的类,并解释下面什么意思?(3)

class test{function Get_test($num){num=md5(md5(num)."En");return $num;}}$test = new test();ret=test->Get_test(11);print_r($ret);exit;

将num进行MD5编码之后生成的32位字符串a1和"En"联系起来之后再进行一次MD5编码

42、写出 SQL语句的格式 : 插入 ,更新 ,删除 (4分)表名 UserName Tel Content Date   张三 13333663366 大专毕业 2006-10-11   张三 13612312331 本科毕业 2006-10-15   张四 021-55665566 中专毕业 2006-10-15(a) 有一新记录(小王 13254748547 高中毕业 2007-05-06)请用SQL语句新增至表中insert into 表名 values("小王", "13254748547", "高中毕业", "2007-05-06")(b) 请用sql语句把张三的时间更新成为当前系统时间update 表名 set Date = GETDATE() where UserName = "张三"(c) 请写出删除名为张四的全部记录delete from 表明 where UserName = "张四"

43、请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么区别(2分)int 整型char 存储定长varchar 存储变长datetime 时间text 存储变长的varchar是变长char(20) 定长

44、MySQ自增类型(通常为表ID字段)必需将其设为(?)字段(1分)auto_increment45、写出以下程序的输出结果 (1分)

$b=201;$c=40;a=b>$c?4:5;echo $a;

46、检测一个变量是否有设置的函数是否?是否为空的函数是?(2分)isset()empty() 

47、取得查询结果集总数的函数是?(1分)

mysql_num_rows()

48、$arr = array("james", "tom", "symfony"); 请打印出第一个元素的值 (1分)

print_r($arr[0]);reset($arr);print_r(current($arr));print_r(array_shift($arr));

49、请将41题的数组的值用","号分隔并合并成字串输出(1分)implode

50、a="abcdef";请取出a的值并打印出第一个字母(1分)

$a[0];substr($a, 0, 1);

51、PHP可以和sql server/oracle等数据库连接吗?(1分)可以有现成的库

52、请写出PHP5权限控制修饰符(3分)publicprivate protected

53、请写出php5的构造函数和析构函数(2分)

public function __construct(){}public function __destruct(){}

编程题:

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

<?php$url = "http://www.sina.com.cn/abc/de/fg.php?id=1";arr=parseurl(url);pathArr=pathinfo(arr["path"]);print_r($pathArr["extension"]);

3. 写一个函数,算出两个文件的相对路径如 $a = "/a/b/c/d/e.php";$b = "/a/b/12/34/c.php";计算出 b相对于a 的相对路径应该是 //www.yinxi.net/12/34/c.php将添上

<?php$a = "/a/b/c/d/e.php";$b = "/a/b/12/34/c.php";//获取path相对于conpath的相对路径function sGetRelativePath(path,conpath){ pathArr=explode("/",path); conpathArr=explode("/",conpath); $dismatchlen = 0; for(i=0;i < count(pathArr);i++) { if(conpathArr[i] != pathArr[i]) {  dismatchlen=count(pathArr) - $i;  arrLeft=arrayslice(pathArr, $i);  break; } } ret=strrepeat("../",dismatchlen).implode("/", $arrLeft); return $ret;}print_r(sGetRelativePath(b,a));

3.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。

<?phpfunction aGetAllFile($folder){ $aFileArr = array(); if(is_dir($folder)) { handle=opendir(folder); while((file=readdir(handle)) !== false) {  //如果是.或者..则跳过  if(file=="."||file == "..")  {  continue;  }  if(is_file(folder."/".file))  {  aFileArr[]=file;   }  else if(is_dir(folder."/".file))  {  aFileArr[file] = aGetAllFile(folder."/".file);  } } closedir($handle); } return $aFileArr;}$path = "/home/test/sql";print_r(aGetAllFile($path));

希望本文所述对大家的php程序设计有所帮助。

TAG标签: PHP经典面试题集锦  
一佰互联是全国知名建站品牌服务商,我们有九年网站建设、网站制作、网页设计、php开发和域名注册及虚拟主机服务经验,提供的自助建站服务更是全国有名。近年来还整合团队优势自主开发了可视化多用户”巅云建站系统“3.0平台版,拖拽排版网站制作设计,轻松实现pc站、手机微网站、小程序、APP一体化全网营销网站建设 ,已成功的为全国上百家网络公司提供自助建站平台搭建服务。

相关新闻more

15
05月
提高百度蜘蛛抓取量的技巧_巅云建站

网站更新频率:经常定时更新高价值内容的站点,优先抓。在中,创建内容要有频率,爬行是有策略的,网站内创建文章越频繁,爬行的频率就会越频繁。如果... >>详情

25
04月
PHP中创建和编辑Excel表格的方法

要使用纯PHP创建或编辑Excel电子表格,我们将使用PHPExcel库,它可以读写许多电子表格格式,包括xls,xlsx,ods和csv。... >>详情

30
04月
PHP全概率运算函数(优化版) Webgam

复制代码 代码如下: <?php $setting = array( // 黑色概率 0 => 0.99, // 白色概率 1 ... >>详情

06
03月
为提高市场用户占有率虚拟主机价格下调

为提高市场用户占有率虚拟主机价格下调 云主机时代到来,虚拟主机以其一次性年付,便宜特点还是受广大用户喜爱!为此我司虚拟主机价格大幅度下调。 ... >>详情

营业执照. cdn加速服务 备案系统认证 网络安全协会 我们的支付方式AAA认证
上海 北京 深圳 广州 天津 杭州 南京 武汉 成都 沈阳 大连 长沙 济南 青岛 苏州 福州 无锡 哈尔滨 宁波 重庆 大庆 厦门 西安 长春 珠海 郑州 海口 昆明 太原 石家庄 温州 合肥 乌鲁木齐 南宁 南通 合肥 兰州 呼和浩特 贵阳 烟台 秦皇岛 包头 唐山 银川 汕头 连云港 威海 西宁 湛江 北海 万州 涪陵 长寿 黔江 永川 丰都 忠县 江津 南川 开县 云阳 万盛 梁平 垫江 巫山 城口 建站宝盒 免费建站 门户网站建设 微信网站 手机网站 门户网站制作

7x24小时服务电话:18581389571 传真:023-85725751 免费建站交流群:236412099 139947842(自助建站交流) E-Mail:post@yinxi.net 网站投诉:
重庆楚捷科技有限公司 一佰互联©版权所有 自助建站(www.yinxi.net,Inc.) 2001-2020 All Rights Reserved 本站程序受法律保护,网站法律顾问:ITLAW-庄毅雄律师
中华人民共和国信息产业部网站备案号:渝ICP备12000592号