PHP面试题(一)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“php简单面试题”。
PHP程序员面试题
1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量(1)中;而链接到当前页面的的前一页面URL记录在预定义变量(2)中
//其它的见参考手册:语言参考》变量》预定义变量
//前执行脚本的绝对路径名:D:Inetpub代码的办法。(1分)
1.echo ‘’;直接输出
2.require include 包含进来一段html代码
3.由XML文件得到
36、下面哪个函数可以打开一个文件,以对文件进行读和写操作?(1分)(a)fget()(b)file_open()(c)fopen()(d)open_file()
(c)是正确的
37、下面哪个选项没有将 john 添加到users 数组中?(1分)(a)$users[] = ‘john’;
(b)array_add($users,’john’);
(c)array_push($users,‘john’);(d)$users ||= ‘john’;
(b)(d)均是错误的写法
38、下面的程序会输入是否?(1分)$num = 10;function multiply(){ $num = $num * 10;} multiply();echo $num;?> 输出 10
39、使用php写一段简单查询,查出所有姓名为“张三”的内容并打印出来(2分)表名User Name Tel Content Date 张三 *** 大专毕业 2006-10-11 张三 *** 本科毕业 2006-10-15 张四 021-55665566 中专毕业 2006-10-15
请根据上面的题目完成代码:
$mysql_db=mysql_connect(“local”,“root”,“pa”);@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 “ ”;}
40、如何使用下面的类,并解释下面什么意思?(3)cla test{ function Get_test($num){ $num=md5(md5($num).“En”);return $num;} }
双重md5加密
$testObject = new test();$encryption = $testObject->Get_test(“xiaotian_ls”);
41、写出 SQL语句的格式 : 插入,更新,删除(4分)表名User Name Tel Content Date 张三 *** 大专毕业 2006-10-11 张三 *** 本科毕业 2006-10-15 张四 021-55665566 中专毕业 2006-10-15(a)有一新记录(小王 *** 高中毕业 2007-05-06)请用SQL语句新增至表中
Insert INTO User('Name','Tel','Content','Date')VALUES('小王','***','高中毕业','2007-05-06')(b)请用sql语句把张三的时间更新成为当前系统时间
Update User SET Date=DATE_FORMAT(NOW(),'%Y-%m-%d')Where Name='张三'(c)请写出删除名为张四的全部记录
Delete FROM User Where Name='张四'
42、请写出数据类型(int char varchar datetime text)的意思;请问varchar和char有什么区别(2分)
int 数值类型 char 固定长度字符串 varchar 可变长字符串 datetime 日期时间型 text 字符字符串
char列的长度固定为创建表时声明的长度.varchar列中的值为可变长字符串.43、MySQ自增类型(通常为表ID字段)必需将其设为(?)字段(1分)
AUTO_INCREMENT
44、写出以下程序的输出结果(1分)$b=201;$c=40;$a=$b>$c?4:5;echo $a;?> 4
45、检测一个变量是否有设置的函数是否?是否为空的函数是?(2分)
iet($a)empty($a)
46、取得查询结果集总数的函数是?(1分)
mysql_num_rows($res);
47、$arr = array('james', 'tom', 'symfony');请打印出第一个元素的值(1分)
echo $arr[0];
48、请将47题的数组的值用','号分隔并合并成字串输出(1分)
echo $arr[0].$arr[1].$arr[2];
49、$a = 'abcdef';请取出$a的值并打印出第一个字母(1分)
echo $a{0};
50、PHP可以和sql server/oracle等数据库连接吗?(1分)可以
51、请写出PHP5权限控制修饰符(3分)
private protected public
52、请写出php5的构造函数和析构函数(2分)
__construct __destruct
53、以下请用PHPMYADMIN完成(一)创建新闻发布系统,表名为meage有如下字段(3分)id 文章id title 文章标题 content 文章内容
category_id 文章分类id hits 点击量
Create TABLE 'meage'('id' int(11)NOT NULL auto_increment, 'title' varchar(200)default NULL, 'content' blob, 'category_id' int(11)default NULL, 'hits' int(11)default NULL, PRIMARY KEY('id'))ENGINE=InnoDB DEFAULT CHARSET=utf8(二)同样上述新闻发布系统:表comment记录用户回复内容,字段如下(4分)comment_id 回复id id 文章id,关联meage表中的id comment_content 回复内容
现通过查询数据库需要得到以下格式的文章标题列表,并按照回复数量排序,回复最高的排在最前面
文章id 文章标题 点击量 回复数量
用一个SQL语句完成上述查询,如果文章没有回复则回复数量显示为0
Select meage.id id,meage.title title,IF(meage.`hits` IS NULL,0,meage.`hits`)hits,IF(comment.`id` is NULL,0,count(*))number FROM meage LEFT JOIN comment ON meage.id=comment.id GROUP BY meage.`id`
(三)上述内容管理系统,表category保存分类信息,字段如下(3分)category_id int(4)not null auto_increment;categroy_name varchar(40)not null;用户输入文章时,通过选择下拉菜单选定文章分类 写出如何实现这个下拉菜单
function categoryList(){ $result=mysql_query(“select category_id,categroy_name from category”)or die(“Invalid query: ”.mysql_error());print(“n”);while($rowArray=mysql_fetch_array($result)){ print(“”.$rowArray['categroy_name'].“n”);} print(“”);}