码迷,mamicode.com
首页 > Web开发 > 详细

PHP面试问题整理收集

时间:2016-08-17 19:38:53      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

1.相信大家对memcache都不陌生,在项目中也经常使用memcache作为缓存方案,那么在使用过程中有没有发现为什么memcahce有两个添加缓存的方法:一个是add,一个是set,那么你知道这2个方法有什么不同吗?什么时候该使用add?什么时候该使用set呢?

对于这点以前自己也没有去深究,只知道要添加缓存的用set就可以了,好像大多数时候使用的都是set方法,而add好像很少去使用。前几天和一个朋友聊天提起过这个,今晚在这里就记录一下这2个方法之间的不同。

1)、memcache::add 方法:add方法用于向memcache服务器添加一个要缓存的数据。

注意:如果memcache服务器中已经存在要存储的key,此时add方法调用失败。

2)、memcache::set 方法:set方法用于设置一个指定key的缓存内容,set方法是add方法和replace方法的集合体。

3)、mmecache::replace方法: replace方法用于替换一个指定key的缓存内容,如果key不存在则返回false

注意:

a)、如果要设置的key不存在时,则set方法与add方法的效果一致;

b)、如果要设置的key已经存在时,则set方法与replace方法效果一样。

2.PHP中的动态变量和

/**
* 动态变量
* 即--变量的名,还可以是一个变量;
**/

$str = ‘hello‘;
$hello = ‘hello word‘;
echo $str . ‘<br />‘; // hello
echo $hello . ‘<br />‘; // hello word
// 两个 ‘$$’ 符号就是把 $str 的值 在变成一个变量, 所以输出‘hello word‘;
echo $$str . ‘<br />‘; // hello word

 

3.缓冲区溢出的条件是什么?会导致什么么样的后果?

4.PHP里的值传递与引用传递

传值:将实参赋值给形参,形参的改变,不会影响到实参的值。

传引用:真正以地址的方式传递参数,传递以后,实参与形参都是同一个对象,只是名字不同而已,形参的改变,会影响到实参的值。

<?php

//传值

$a=3;

$b=4;

function num($a,$b){

return $a+$b;

}

echo num($a,&$b);

//传引用

function nums(&$d){

$d++;

return $d;

}

$c=3;

echo nums($c);

?>

PHP面试问题整理收集

标签:

原文地址:http://www.cnblogs.com/acoll/p/5781189.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!