PHP基础语言方面的笔试题和答案
8. 你如何利用 PHP 解决 HTTP 的无状态本质?
最主要的俩各选择是session和cookie。使用session的方法是在每一页的开始加上 session_start(),然后利用$_SESSION散列表来储存session变量。至于cookie你只需记着一个原则:在输出任何文字之前调用set_cookie()函式,可以参考PHP会话管理之Cookie的使用,此外只需使用 $_COOKIE 散列表便可以存取所有 cookie 变量。
还有一个不那么可靠的方法,就是利用访客的 IP 地址,这个方法有特定的危险性。
9. 有一个一维数组,里面存储整形数据,请写一个函数,将他们按从大到小的顺序排列,要求执行效率高,并说明如何改善执行效率(该函数必须自己实现,不能使用php函数)。
学习C语言的时候各种排序方法是必须掌握的基本概念,尤其是冒泡排序法是程序员都很熟悉的算法,其他的可以查看这篇很古老的文章:http://blog.csdn.net/rerli/archive/2003/12/15/19040.aspx,显然C/C++里面的指针和堆可以实现一些快速高效但是不稳定的算法,PHP里面保守一些还是采用稳定性比较好,算法时间复杂度适中的冒泡排序法。
function BubbleSort(&$arr)
{
$cnt=count($arr);
$flag=1;
for($i=0;$i
{
if($flag==0)
{
return;
}
$flag=0;
for($j=0;$j
{
if($arr[$j]>$arr[$j+1])
{
$tmp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$tmp;
$flag=1;
}
}
}
}
$test=array(1,3,6,8,2,7);
BubbleSort($test);
echo "";
var_dump($test);
?>
10. 以下哪一句不会把 John 新增到 users 阵列?
PHP中一些数组函数和字符串函数是基础中的基础。
$users[] = "john";
//成功把 John 新增到阵列 users。
array_add($users,"john");
//函式 array_add() 无定义。
array_push($users,"john");
//成功把 John 新增到阵列 users,参考array_push()函数。
$users ||= "john";
//语法错误,不存在这个运算符。
?>
第一次总结,就这么多吧,有时间准备更让我鸡动的正则表达式和数据库方面的试题。