您的位置:首页 > 职场人生

php基础面试题:

2016-02-18 15:03 483 查看
1:print、print_r、echo到底有什么区别?

2:get和post的区别

echo和print都可以做输出,不同的是,echo不是函数,没有返回值,而print是一个函数有返回值,所以相对而言如果只是输出echo会更快,而print_r通常用于打印变量的相关信息,通常在调试中使用。
print是打印字符串
print_r则是打印复合类型如数组对象

1》get请求时:
GET请求的数据会附在URL之后;空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。
POST把提交的数据则放置在是HTTP包的包体中。
2》GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了。而实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。
IE对URL长度的限制是2083字节(2K+35)。
对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。
3》POST的安全性要比GET的安全性高。
(1)登录页面有可能被浏览器缓存,
(2)其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用GET提交数据还可能会造成Cross-siterequestforgery攻击。

3:HTTP头书写
header(“HTTp/1.0404NotFound”);———找不到文件

header(“HTTp/1.1403Forbidden”);———不允许访问

4:
$a6
=
'null'
;


$a8
=
array
(
array
());


echo
empty
(
$a6
[code])?
'true'
:
'false'
;


echo
empty
(
$a8
)?
'true'
:
'false'
;


都返回false

5:写出如下程序的输出结果

输出:aaaaaa

6:

$count=5;
functionget_count(){
static$count=0;//未用global声明,故是内部变量
return$count++;
}
echo$count;
++$count;
echoget_count();
echoget_count();


输出:

5

0

1

7:

$GLOBALS['var1']=5;
$var2=1;
functionget_value(){
global$var2;
$var1=0;
return$var2++;
}
$res=get_value();
echo$res;//返回1
echo$var1;//返回5
echo$var2;//返回2

8:

functionget_arr($arr){
unset($arr[0]);
}
$arr1=array(1,2);
$arr2=array(1,2);
get_arr(&$arr1);
get_arr($arr2);
echocount($arr1);
echocount($arr2);

9.使用五种以上方式获取一个文件的扩展名



二、算法题
1.使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组
2.使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组
3.写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数



12、某内容管理系统:用户提交内容后,系统生成静态HTML页面;写出实现的基本思路,最好写出相关代码。
用户提交内容后,将内容加在最终页面模板上,然后另存为HTML页面(创建HTML页面,将内容和页面模板写入)。
代码:
$tpl->assign(‘vars’,$vars);
$static_html==$tpl->fetch(‘tpl/index.html’);//Smarty的fetch方法
$fp=fopen(‘html/index.html’,‘w’);

fwrite($fp,$static_html);

另一种ob_start

createHtml.php
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: