PHP面试 第二弹

时间:2021-07-17 16:08:24

这两天又去找虐去了,面试完感觉生无可恋了,呵呵。好了,废话不多说,直接上题。

1,说说session和cookies的区别。
不想说了,自行百度吧。
不过还是说一点吧,session_id一般是存储在cookies中的,并且通过header头传给服务端的,如果禁用了cookie则只能通过url传递了。

2,写出以下程序的结果。

<?php
function changeNum($input){
$input = 100;
}
function changeArray($input){
$input['key'] = 100;
}
function changeObj($input){
$input->key = 100;
}
function changeStr($input){
$input = '100';
}
$input = 0;
changeNum($input);
echo $input.'</br>';

$input2['key'] = 0;
changeArray($input2);
echo $input2['key'].'</br>';
$input3 = new class1();
$input3->key = 0;
changeObj($input3);
echo $input3->key.'</br>';

$input4 = '123';
changeStr($input4);
echo $input4;
class class1{}
?>

这里考察的主要是数据类型的存储以及引用方式问题。

3,怎样不通过第三个变量来交换a和b的值。

$a = 1;$b = 2;
list($a,$b)=array($b,$a);
echo $a.$b;

还有一种方法就是通过字符串的截取来实现,这里不做介绍了。

4,PDO和mysql的区别。

好吧,pdo比php-mysql 牛逼。不要问我牛逼在哪,我也不清楚。

5,用至少两种方式实现指定页面的显示编码

header('content-type:text/html;charset=utf-8');
<meta charset="utf-8" />

6,http请求头返回200和404代表什么?

200,表示请求成功。
404,表示请求资源不存在。

7,$a = array(0=>’shift ctrl’,1=>’mysqli’,2=>’i love you’)将上述数组中的小写i替换为大写I

for($i = 0;$i<count($a);$i++){
$a[$i] = str_replace('i','I',$a[$i]);
}

8,users 表中存在name,age,class请查询出包括这几个字段的user信息,并打印。

$sql = "select name ,age,class from users";
$result = mysql_query($sql);

while($res = mysql_fetch_assoc($result)){
print_r($res);
}

9,请写出访问www.baidu.com时 的发送头和返回头。

这里主要就是http协议头了,还真不知道怎么写,只有个模糊的概念。童鞋们自己查查吧。

暂时只能想起这几道了,以后想起了再补充。