当前位置: 首页 > news >正文

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)

 

转载于:https://www.cnblogs.com/Renyi-Fan/p/9095978.html

相关文章:

  • nohup和后台运行,进程查看及终止
  • bash命令行初探
  • 转: 关于linux用户时间与系统时间的说明
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • day01.1 vmware虚拟机
  • VMware Vsphere 虚拟化
  • CentOS7切换到root用户和退回普通用户
  • BZOJ5289 洛谷4437:[HNOI/AHOI2018]排列——题解
  • mysql grant授权
  • classloader实战:一个程序使用相同数据库的两个不同版本的jar包
  • 卷积核与特征提取
  • 常用的几个vagrant命令
  • SQL优化笔记
  • 【总结整理】关于二手交易平台的讨论
  • jdk1.8 HashMap源码分析(resize函数)
  • 【剑指offer】让抽象问题具体化
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • canvas绘制圆角头像
  • echarts的各种常用效果展示
  • ECMAScript入门(七)--Module语法
  • flask接收请求并推入栈
  • HTML5新特性总结
  • Java的Interrupt与线程中断
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • Laravel Mix运行时关于es2015报错解决方案
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • node和express搭建代理服务器(源码)
  • Sass Day-01
  • 给新手的新浪微博 SDK 集成教程【一】
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 我建了一个叫Hello World的项目
  • 详解移动APP与web APP的区别
  • 应用生命周期终极 DevOps 工具包
  • 用 Swift 编写面向协议的视图
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • # Maven错误Error executing Maven
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #LLM入门|Prompt#3.3_存储_Memory
  • $.each()与$(selector).each()
  • (C#)一个最简单的链表类
  • (办公)springboot配置aop处理请求.
  • (分享)自己整理的一些简单awk实用语句
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (新)网络工程师考点串讲与真题详解
  • (转)大型网站的系统架构
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • *1 计算机基础和操作系统基础及几大协议
  • .gitignore文件---让git自动忽略指定文件
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法