搜索
首页后端开发php教程PHP经典面试题集锦_PHP教程

PHP经典面试题集锦_PHP教程

Jul 13, 2016 am 10:02 AM
php主要常见整理文章经典试题

PHP经典面试题集锦

 这篇文章主要介绍了PHP经典面试题集锦,搜集整理了常见的php面试题与相关的参考答案,供大家参考借鉴,需要的朋友可以参考下

 

 

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

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

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

?

1

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; 可以输出多个参数,返回void
echo和print只能打印出string,不能打印出结构
print_r能打印出结构
比如

?

1

2

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

print_r($arr);

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

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

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

?

1

2

3

4

5

6

7

8

9

10

11

12

function reverse($str)

{

$ret = "";

len=mbstrwidth(str,"GB2312");

for(i=0;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分)

?

1

2

3

CURRENT_TIMESTAMP()

DATE_FORMAT()

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

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

?

1

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

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

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_once
include_once

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

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

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

?

1

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

fast CGI中:

?

1

header("Status: 404 Not Found");

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

?

1

2

3

$a =

good test

EOD;

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分)

?

1

2

3

$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分)

?

1

2

window.location.href="#"

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

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

?

1

2

3

class myclass

{

}

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

?

1

$myclass = new myclass();

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

?

1

2

3

4

5

6

7

8

class 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() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。

?

1

2

3

4

5

6

7

8

9

mysql_connect("localhost", "mysql_user", "mysql_password") or

die("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分)

?

1

2

3

4

echo "{html}"

echo

{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

?

1

2

3

4

5

6

7

$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
请根据上面的题目完成代码:

?

1

2

3

4

5

6

7

8

9

10

11

12

$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)

?

1

2

3

4

5

6

7

8

9

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_increment
45、写出以下程序的输出结果 (1分)

?

1

2

3

4

$b=201;

$c=40;

a=b>$c?4:5;

echo $a;

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

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

?

1

mysql_num_rows()

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

?

1

2

3

4

print_r($arr[0]);

reset($arr);

print_r(current($arr));

print_r(array_shift($arr));

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

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

?

1

2

$a[0];

substr($a, 0, 1);

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

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

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

?

1

2

3

4

5

6

public function __construct()

{

}

public function __destruct()

{

}

编程题:

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

?

1

2

3

4

5

$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 的相对路径应该是 http://www.jb51.net/12/34/c.php将添上

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

$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

{

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.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

function 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程序设计有所帮助。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/970757.htmlTechArticlePHP经典面试题集锦 这篇文章主要介绍了PHP经典面试题集锦,搜集整理了常见的php面试题与相关的参考答案,供大家参考借鉴,需要的朋友可以参...
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
PHP的目的:构建动态网站PHP的目的:构建动态网站Apr 15, 2025 am 12:18 AM

PHP用于构建动态网站,其核心功能包括:1.生成动态内容,通过与数据库对接实时生成网页;2.处理用户交互和表单提交,验证输入并响应操作;3.管理会话和用户认证,提供个性化体验;4.优化性能和遵循最佳实践,提升网站效率和安全性。

PHP:处理数据库和服务器端逻辑PHP:处理数据库和服务器端逻辑Apr 15, 2025 am 12:15 AM

PHP在数据库操作和服务器端逻辑处理中使用MySQLi和PDO扩展进行数据库交互,并通过会话管理等功能处理服务器端逻辑。1)使用MySQLi或PDO连接数据库,执行SQL查询。2)通过会话管理等功能处理HTTP请求和用户状态。3)使用事务确保数据库操作的原子性。4)防止SQL注入,使用异常处理和关闭连接来调试。5)通过索引和缓存优化性能,编写可读性高的代码并进行错误处理。

您如何防止PHP中的SQL注入? (准备的陈述,PDO)您如何防止PHP中的SQL注入? (准备的陈述,PDO)Apr 15, 2025 am 12:15 AM

在PHP中使用预处理语句和PDO可以有效防范SQL注入攻击。1)使用PDO连接数据库并设置错误模式。2)通过prepare方法创建预处理语句,使用占位符和execute方法传递数据。3)处理查询结果并确保代码的安全性和性能。

PHP和Python:代码示例和比较PHP和Python:代码示例和比较Apr 15, 2025 am 12:07 AM

PHP和Python各有优劣,选择取决于项目需求和个人偏好。1.PHP适合快速开发和维护大型Web应用。2.Python在数据科学和机器学习领域占据主导地位。

PHP行动:现实世界中的示例和应用程序PHP行动:现实世界中的示例和应用程序Apr 14, 2025 am 12:19 AM

PHP在电子商务、内容管理系统和API开发中广泛应用。1)电子商务:用于购物车功能和支付处理。2)内容管理系统:用于动态内容生成和用户管理。3)API开发:用于RESTfulAPI开发和API安全性。通过性能优化和最佳实践,PHP应用的效率和可维护性得以提升。

PHP:轻松创建交互式Web内容PHP:轻松创建交互式Web内容Apr 14, 2025 am 12:15 AM

PHP可以轻松创建互动网页内容。1)通过嵌入HTML动态生成内容,根据用户输入或数据库数据实时展示。2)处理表单提交并生成动态输出,确保使用htmlspecialchars防XSS。3)结合MySQL创建用户注册系统,使用password_hash和预处理语句增强安全性。掌握这些技巧将提升Web开发效率。

PHP和Python:比较两种流行的编程语言PHP和Python:比较两种流行的编程语言Apr 14, 2025 am 12:13 AM

PHP和Python各有优势,选择依据项目需求。1.PHP适合web开发,尤其快速开发和维护网站。2.Python适用于数据科学、机器学习和人工智能,语法简洁,适合初学者。

PHP的持久相关性:它还活着吗?PHP的持久相关性:它还活着吗?Apr 14, 2025 am 12:12 AM

PHP仍然具有活力,其在现代编程领域中依然占据重要地位。1)PHP的简单易学和强大社区支持使其在Web开发中广泛应用;2)其灵活性和稳定性使其在处理Web表单、数据库操作和文件处理等方面表现出色;3)PHP不断进化和优化,适用于初学者和经验丰富的开发者。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。