最新消息: 新版网站上线了!!!

PHP 面试题

1、如何使用 PHP Session?

在往PHP Session里面保存信息之前,需要首先使用session_start()函数来启动session, 这个函数必须在标签之前调用。代码如下:
在Session启动以后,可以使用PHP $_SESSION变量来获取和设置session变量,实例代码如下:
session_start();
// store session data
$_SESSION['views']=1;
?>
如果需要删除一些session数据,你可以使用unset()函数或者session_destroy()函数, unset()函数用来把某个session变量的值清空,代码如下:
unset($_SESSION['views']);
?>
还可以调用session_destroy()函数把整个session给销毁, 代码如下:
session_destroy();
?>

2、PHP如何删除一个Cookie值
2011 - 08 - 04 更新

删除一个Cookie值,可以把过期日期设置到一个已经过去的时间
代码如下:
// set the expiration date to one hour ago
setcookie(“user”, “”, time()-3600);
?>
// 设置过期时间会一个小时之前
setcookie(“user”, “”, time()-3600);
?>

3、解释一下PHP里面的三元运算符
举例说明:a= b==c? 1 : 2 ,若b==c,则a的值为1 否则a的值为2
4、如何知道有几个参数传入到了一个function?
func_num_args() 函数返回传入的参数的个数。
5、PHP里面所有的对象是passed by value (值传递)还是 passed by reference(引用传递)?
PHP里面所有的对象都是值传递。
6、如何调用父类的构造方法?
使用parent::constructor($value)
7、_sleep和_wakeup有什么特殊含义?
_sleep返回需要被保存的变量的数组,而_wakeup则是取得这些需要被保存的变量 
8、PHP如何自定义函数
使用 Function 来自定义一个函数:
格式为:
Function func_name($val){
……
}
函数的命名跟自定义变量一样,只能使用 _, A~Z, a~z
一个自定义函数中的变量是局部的,函数外不生效
使用global全局变量的时候,在函数外才可使用变量(不建议)
为了放置全局变量的混乱可以使用 unset($var)删除一个变量
使用自定义函数实例操作:
(1)使用return 函数返回函数内部值
(2)自定义函数值的接收和选择性接收
(3)function_exists() 判断函数是否存在
(4)引用返回值 使用&符号 
9、PHP两种查询函数array/row的区别 
格式:mysql_fetch_row(result);
说明:mysql_fetch_row用来查询结果的一行保存至数组,该数组下标从0开始,每一个数组元素对应
一个域。通过循环,可以将查询结果全部获得。
格式:mysql_fetch_array(result);
说明:mysql_fetch_array和mysql_fetch_row功能基本相同,只不过它除了可以用从0开始的偏移量作
索引,还可以用域名作索引。
值返回下一行的所有域值,并将其保存至一个数组中,没有行时返回false。
mysql_query(“set names ‘GBK’”); 解决中文乱码 
10、请说明 PHP 中传值与传引用的区别。什么时候传值什么时候传引用?
答: 传值只是把某一个变量的值传给了另一个变量,而引用则说明两者指向了同一个地方。
11、 在PHP中error_reporting这个函数有什么作用?
答: The error_reporting() function sets the error_reporting directive at runtime. PHP has many levels of errors, using this function sets that level for the duration (runtime) of your script.
12、请用正则表达式(Regular Expression)写一个函数验证电子邮件的格式是否正确。
答:
if(isset($_POST['action']) &&
$_POST['action']==’submitted’)
{
$email=$_POST['email'];
if(!preg_match(“/^(?:w+.?)*w+@(?:w+.?)*w+$/”,$email))
{
echo
“电子邮件检测失败”;
}
else
{
echo
“电子邮件检测成功”;
}
}
else
{
?>
” method=”POST”>
电子邮件: />
 />
 />
 />
}
?>

13、简述如何得到当前执行脚本路径,包括所得到参数。
echo
“http://”.$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'].”?”.$_SERVER['QUERY_STRING'];
//echo “http://”.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
?>
14、 有一个一维数组,里面存储整形数据,请写一个函数,将他们按从大到小的顺序排列。要求执行效率高。并说明如何改善执行效率。(该函数必须自己实现,不能使用php函数)

function BubbleSort(&$arr)
{
$cnt=count($arr);
$flag=1;
for($i=0;$i<$cnt;$i++)
{
if($flag==0)
{
return;
}
$flag=0;
for($j=0;$j<$cnt-$i-1;$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);
var_dump($test);
?>
15、 请举例说明在你的开发过程中用什么方法来加快页面的加载速度
答:要用到服务器资源时才打开,及时关闭服务器资源,数据库添加索引,页面可生成静态,图片等大文件单独服务器。使用代码优化工具啦

 

转载请注明:谷谷点程序 » PHP 面试题