php基础面试题:
2016-02-18 15:03
483 查看
1:print、print_r、echo到底有什么区别?
2:get和post的区别
header(“HTTp/1.1403Forbidden”);———不允许访问
4:
都返回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:
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
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
(
$a[code])?6
'true'
:
'false'
;
echo
empty
(
$a8
)?
'true'
:
'false'
;
都返回false
5:写出如下程序的输出结果
输出:aaaaaa
6:
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