分类:
2009-08-04 10:17:17
求职与招聘 往往少不了面试与笔试,作为一个php程序员、多多少少都会有类似的经历……以下是本人收集并整理的PHP面试题目,希望对同行们有所帮助,找到一份合适的php开发工作!(共三节)
以下是面试的题目(一), 下一篇:经典面试题(PHP基础型III)附答案 PHP已经赋予答案:
12、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?(1分) PHPMA.COM
在大部分语言里,双引号是字符串,单引号是字符。但是在PHP里,字符串的表现形式有3种。即:
单引号
双引号
定界符(heredoc syntax)
看见了吧,单引号居然可以用来表示字符串。那么如果我想表示单引号怎么办?和大多数语言一样,使用转义符号吧。即反斜线"".那么使用单引号和双引号有什么区别呢?我的观点是没有多大区别。唯一的区别就是双引号可以应用更多的转义符。
让我们定界符吧。它的语法是"<<<"。用法是在其后提供一个标识符,然后在标识符后提供字符串,再在字符串后提供此标识符来结尾。例如:
$str = <<
Please attention to it.
EOD;
echo $str;
?>注意,这里的提供的标志符是EOD,中间的是字符串。PHPMA.COM
<<
13、谈谈asp,php,jsp的优缺点(1分)--(具体请自己搜索)
14、谈谈对mvc的认识(1分)
MVC(Model/View/Controller)模式包括三类对象。Model是应用对象,View是它在屏幕上的表示,
Controller定义用户界面对用户输入的响应方式。
模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。
1)模型(Model)
模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑.
2)视图(View)
视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。
3)控制器(controller)
控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。PHPMA.COM
-------------------------------------------------------------------
15、写出发贴数最多的十个人名字的SQL,利用下表:members(id,username,posts,pass,email)(2分)
select members.username
from members
order by posts DESC
limit 10
16. 请说明php中传值与传引用的区别。什么时候传值什么时候传引用?(2分)
按值传递:函数范围内对值的任何改变在函数外部都会被忽略
按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改phpma.com PHPma
优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。
按引用传递则不需要复制值,对于性能提高很有好处。
17. 在PHP中error_reporting这个函数有什么作用? (1分)
用来配置错误信息回报的等级
18. 请写一个函数验证电子邮件的格式是否正确 (2分)
//if the email address is valid, return true,else return false
function validateEmail($email)
{
if(eregi('^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$',$email) ){
return true;
}else{
return false;
}
}
19. 简述如何得到当前执行脚本路径,包括所得到参数。(2分)
echo $_SERVER['SCRIPT_FILENAME']."?".$_SERVER['QUERY_STRING'];
20.如何修改SESSION的生存时间. (1分)
setcookie()
或
session_set_cookie_params($lifeTime)
--------------------------------------------------------------------
21、JS表单弹出对话框函数是?获得输入焦点函数是? (2分)
alert(),prompt(),confirm()
focus()
22、JS的转向函数是?怎么引入一个外部JS文件?(2分)
window.location.href
23、foo()和@foo()之间有什么区别?(1分)
PHP 支持一个错误控制运算符:@。当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉。
注意: @ 运算符只对表达式有效。对新手来说一个简单的规则就是:如果能从某处得到值,就能在它前面加上 @ 运算符。例如,可以把它放在变量,函数和include()调用,常量,等等之前。不能把它放在函数或类的定义之前,也不能用于条件结构例如 if 和 foreach 等。
24、如何声明一个名为”myclass”的没有方法和属性的类? (1分)
class myclass{};
25、如何实例化一个名为”myclass”的对象?(1分)
$newmyclass = new myclass();
26、你如何访问和设置一个类的属性? (2分)
通过-〉
$newmyclass = new myclass();
$temp=$newmyclass->testvalue;
$newmyclass->testvalue="a";
27、mysql_fetch_row() 和mysql_fetch_array之间有什么区别? (1分)
mysql_fetch_row -- 从结果集中取得一行作为枚举数组
mysql_fetch_array -- 从结果集中取得一行作为关联数组,或数字数组,或二者兼有
--------------------------------------------------------------------
28、GD库是做什么用的? (1分)
GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。
在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。
29、指出一些在PHP输入一段HTML代码的办法。(1分)
print("
");
echo "
";
30、下面哪个函数可以打开一个文件,以对文件进行读和写操作?(1分)(c)
(a) fget() (b) file_open() (c) fopen() (d) open_file()
31、下面哪个选项没有将 john 添加到users 数组中? (1分) (b)(c)(d)
(a) $users[] = ‘john’;
(b) array_add($users,’john’);//这个选项不敢确定,但是测试着没有这个函数
(c) array_push($users,‘john’);
(d) $users ||= ‘john’;
32、下面的程序会输入是否?(1分)
$num = 10;
function multiply(){
$num = $num * 10;
}
multiply();
echo $num;
?>
否,局部变量
33、使用php写一段简单查询,查出所有姓名为“张三”的内容并打印出来 (2分)
表名User
Name 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);
$result=mysql_query("select * from User where Name='张三'");
while($row=mysql_fetch_array($result))
{
echo $row['Name'].$row['Tel'].$row['Content'].$row['Date'];
echo "
";
}
34、如何使用下面的类,并解释下面什么意思?(3)
class test{
function Get_test($num){
$num=md5(md5($num)."En");
return $num;
}
}
双重md5加密
$testObject = new test();
$encryption = $testObject->Get_test("xiaotian_ls");