php初级面试题

一、简答题

1.      PHP打印出今天的时间,格式是2009-9-2 22:21:21  2009-09-02 22:21:21
date(“Y-m-d H:i:s”,time());  date(“Y-n-j H:i:s”);

2.      有一个网页地址, 比如PHP开发资源网主页: http://www.phpres.com/index.html,如何得到它的内容?

$str = file_get_contents(‘http://www.phpres.com/index.html’);
file_put_contents

3.      写出发贴数最多的十个人名字的SQL,利用下表:members(id,username,posts,pass,email)
$sql = “select username from members order by posts desc limit 0,10”;


4.      PHPerror_reporting这个函数有什么作用?
打开或者关闭错误报告 //error_reporting(0);返回错误报告 error_reporting(E_ALL ^ E_NOTICE); error_reporting(E_ALL);
返回所有报告

5.      func()@func()之间有什么区别?
第二个函数调用失败不会报错,第一个会报错

6.      mysql_fetch_row() mysql_fetch_assoc()mysql_fetch_array之间有什么区别?
第一个是返回结果集中的一行作为索引数组,第二个是返回关联数组,而第三个既可以返回索引数组也可以返回关联数组,取决于它的第二个参数 MYSQL_BOTH MYSQL_NUM  MYSQL_ASSOC 默认为
MYSQL_BOTH
$sql =”select * from table1”;
$result = mysql_query($sql);
mysql_fetch_array($result, MYSQL_NUM);

7.      写出以下程序的输出结果
   <?
    $b=201;
    $c=40;
    $a= $b>$c?4:5;
    echo $a;
   ?>
答案:
4

8.      取得查询结果集总数的函数是?
mysql_num_rows($result)

9.      取得增删改等操作所影响的行数的函数是什么?
mysql_affected_rows($result) 不写参数则返回最近一次操作的结果集失败返回
-1

10. 取得最新一次添加记录(假设id为主键,并且是自增类型)所产生的id的函数是什么?
mysql_insert_id();如果上一查询没有产生 AUTO_INCREMENT 的值,则 mysql_insert_id() 返回
0

11. $arr = array('james', 'tom', 'symfony'); 请将’jack’添加到$arr数组的开头,并把jack打印出来
array_unshift($arr,’jack’); echo $arr[0]; arr_push()结尾;
6

12. $arr = array('james', 'tom', 'symfony');请将$arr数组的值用’,’分割并合并成字符串输出?
echo implode(‘,’,$arr);

13. $str = ‘jack,james,tom,symfony’; 请将$str’,’分割,并把分割后的值放到$arr数组中?
$arr = explode(‘,’,$str);

14. $arr = array(3,7,2,1,’d’,’abc’);     请将$arr按照从大到小的顺序排序,并保持其键值不变?
arsort($arr); print_r($arr);

15. $mail = “gaofei@163.com”;   请将此邮箱的域(163.com)取出来并打印,看最多能写出几种方法?
echo strstr($mail,'163');

echo substr($mail,7);

$arr = explode("@",$mail); echo $arr[1];

16. php连接mysql之后,如何设置mysql的字符集编码为utf8?
mysql_query(“set names utf8”);

17. php程序中如何设置当前页面的编码为utf-8?
header(“content-type:text/html;charset=utf-8”);

18. 如果我的网站用的utf-8编码,为防止乱码出现,都需要注意哪些地方?
1数据库中库和表都用utf8_general_ci编码
2 php连接mysql,指定数据库编码为
utf8 mysql_query(“set names utf8”);
3 php
文件指定头部编码为
utf-8 header(“content-type:text/html;charset=utf-8”);
4
网站下所有文件的编码为
utf8
5 html
文件指定编码为
utf-8 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

19.             php中,如何跳转到blog/view.php页面,请用函数实现?
header(“location:blog/view.php”);

20.             url中用get传值的时候,若中文出现乱码,应该用哪个函数对中文进行编码?
urlencode()

21.             用户在网站表单提交数据的时候,为了防止脚本攻击(比如用户输入<script>alert111);</script>),php端接收数据的时候,应该如何处理?
htmlspecialchars($_POST[‘title’]);

22.             写出两种对变量加密的函数?
md5($str);     sha1($str);

23.             如何设置一个cookie的名字为username,值为jack,并且让此cookie一周后失效?
setcookie(‘username’,’jack’,time()+7*24*3600);

24.             一个浏览器最多可以产生多少个cookie,每个cookie文件最大不能超过多少?
20个,每个最多不超过
4K

25.             设置或读取session之前,需要做什么?
可以直接在php.ini中开启session.auto_start = 1或者在页面头部用session_start();开启sessionsession_start()前面不能有任何输出,包括空行。

26.             使用setcookie函数前,需要注意什么?
前面不能有任何输出,包括空行。

27.             $str=”你好baby好久不见了!”; 如何页面编码为utf-8格式,我要截取12个字符,不出现乱码,应该用什么函数?
echo $str2 = mb_substr($str,12);

自定义函数吧

28.             如何把2009-9-2 10:30:25变成unix时间戳?
$unix_time = strtotime("2009-9-2 10:30:25");//变成unix时间戳
echo date("Y-m-d H:i:s",$unix_time);//格式化为正常时间格式

 

二、选择题

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

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

3.     下面的程序会输出什么?(1) c
    <?php
      $num = 10;
      function multiply(){
        $num = $num * 10;
      }
      multiply();
      echo $num;
    ?>
    (a) 100    (b)
没有任何输出   (c) 10   (d) 11

4.    

三、答题

1.     使用php写一段简单查询,查出所有姓名为张三的内容放到一个数组中,并用foreach把张三的信息打印到table表格中。
表名
User
Name Tel Content Date
张三 13333663366 大专毕业
2006-10-11
张三 13612312331 本科毕业
2006-10-15
张四 021-55665566 中专毕业
2006-10-15

请根据上面的题目完成代码:
$link = mysql_connect(‘localhost’,’root’,’’) or die(‘连接mysql失败
’);
mysql_select_db(‘database1’);
mysql_query(‘set names utf8’);
$sql = “select * from table1 where name=’
张三
’”;
$result = mysql_query($sql);
while( $row = mysql_fetch_assoc($result) ){
$arr[] = $row;
}
$str .= ‘<table>’;
foreach( $arr as $v ){
$str .= ‘<tr><td>’.$v[‘name’].’</td><td>’.$v[‘age’].’</td><td>’.$v[‘class’].’</td></tr>’;
}
$str .= ‘</table>’;
echo $str;

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

3.     以下请用PHPMYADMIN完成

()创建新闻发布系统,表名为message有如下字段 (3
)

id
文章
id
title
文章标题
content 文章内容
category_id 文章分类
id
hits
点击量

()同样上述新闻发布系统:表comment记录用户回复内容,字段如下 (4
)

comment_id
回复
id
id
文章id,关联message表中的
id
comment_content
回复内容
现通过查询数据库需要得到以下格式的文章标题列表,并按照回复数量排序,回复最高的排在最前面
文章id 文章标题点击量回复数量
用一个SQL语句完成上述查询,如果文章没有回复则回复数量显示为
0

SELECT t. * , (

 

SELECT count( * )

FROM COMMENT tt

WHERE tt.id = t.id

)num

FROM `message` t order by num desc

LIMIT 0 , 30 ;

(
)上述内容管理系统,表category保存分类信息,字段如下

category_id int(4) not null auto_increment;
categroy_name varchar(40) not null;
用户输入文章时,通过选择下拉菜单选定文章分类
写出如何实现这个下拉菜单

 

Function selectCategory($arr)

{

     If( empty($arr) ){

         Return “<select name=’category’><option>暂无分类</option></select>”;

}

$str = “<select name=’category’><option>文章分类</option>”;

Foreach($arr as $v){

$str.=“<option value=’”.$v[‘category_id’].”’>”.$v[‘category_name’].”</option>”;

}

$str .= “</select>”;

Return $str;

 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值