php面试题12(多态web服务器共享session的方法:将session存到数据库)($val=&$data[$key];)...

php面试题12(多态web服务器共享session的方法:将session存到数据库)($val=&$data[$key];

一、总结

1、多态web服务器共享session的方法:将session存到数据库

2、$val=&$data[$key];

1 <?php
2  $data=array(‘a’,‘b’,‘c’);
3  foreach($dataas$key=>$val){
4  $val=&$data[$key];
5 }
6 ?>

b c c

3、文件上传限制可在php.ini中设置

 

 

二、php面试题12

 

一、读程题,请仔细阅读一下程序,并按照要求写出答案
1.下面程序输出是什么?
<?
$int_a=5;
functionfactorial(){
for($int_i=$int_a;$int_i>0;$int_i--){
$int_a=$int_a*$int_i;
}
}
factorial();
echo$int_a;

2.请指出以下代码的错误之处(圈出来并加以改正)
<?
functionbaz($y$a){
$x=newArray();
$x[sales]=60;
$x[profit]=20;
foreach($xas$key=$value){

echo$key+“”+$value+“<BR>”;
}
}
?>

形式参数写错了,没加逗号
声明数组错了
变量与字符串连接用点”.”
Foreach($x as $key=>$value)

二、编程题
1.用 PHP 输出明天的时间(格式 2010-10-01 12:00:00)
Date(“Y-m-d H:i:s”,strtotime(“+1 days”));

2.写一个函数 Check_ip,使用正则表达式检测一个 IPV4 的 IP 是否正确,正确返回 1,错
误返回 0,例如 Check_ip(‘127.0.01’)。
$ip='192.168.10.255';
$ptn='/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/';
preg_match($ptn,$ip,$arr);
echo "<pre>";
print_r($arr);

echo "</pre>";

3.有一数组 $a=array(4,3,8,9,2); 写一个排序函数对数组进行排序操作,要求使用快速排
序法.快速排序的基本思想是:在待排序记录序列中,任取其中的一个记录(这里取了第一个)
并以该记录的关键字作为基准,经过一趟排序后,所有关键字比它小的记录都交换到它的左边,
比它大的记录都交换到它的右边.然后再分别对划分到它左,右两部分记录序列重复上述过程,
直至每一部分最终划分为一个记录时为止即完成了排序工作.
function quick($arr){
$left=array();
$right=array();
if(count($arr)<=1){
return $arr;
}
for($i=1;$i<count($arr);$i++){
if($arr[0]>$arr[$i]){
$left[]=$arr[$i];
}else{
$right[]=$arr[$i];
}
}
$left1=quick($left);

$right1=quick($right);
return array_merge($left1,array($arr[0]),$right1);
}

三、简单题:
1.在开发项目中,需要上传超过 8M 的文件,请说明在 php.ini 需要修改的配置项。
upload_max_filesize()

2.写出 session 的运行机制,session 与 cookie 的区别。多台 WEB 服务器如何共享
session。
session 和 cookie 的最大区别在于 session 是保存在服务端的内存里面,而 cookie 保存
于浏览器或客户端文件里面;session 是基于访问的进程,记录了一个访问的开始到结束,
当浏览器或进程关闭之后,session 也就“消失”了,而 cookie 更多地被用于标识用户,
它可以是长久的,用于用户跟踪和识别唯一用户(Unique Visitor)

多台 WEB 服务器如何共享 session 的方式?
1.保存在数据库中,这种方式的扩展性很强,可以随意增加 WEB 而不受影响
2.可以将 session 数据保存在 memcached 中,memcached 是基于内存存储数据的,性
能很高,用户并发量很大的时候尤其合适,参考 PHP 实现多服务器 session 共享之
memcache 共享

<?php
$data=array(‘a’,‘b’,‘c’);
foreach($dataas$key=>$val){
$val=&$data[$key];
}
?>

问题 1:程序执行时,每一次循环结束后变量$data 的值是什么?请解释。
问题 2:程序执行完后,变量$data 的值是什么?请解释。

问题 1:每一次循环后的值就是原来的值 abc
每次$data 的值:
Array
(
[0] => a
[1] => b
[2] => c
)
Array
(
[0] => b

[1] => b
[2] => c
)
Array
(
[0] => b
[1] => c
[2] => c
)
问题 2:array(b,c,c)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值