二十一、语句include和require的区别
require是无条件包含,也就是如果一个流程里加入require,无论条件成立与否都会先执行require,当文件不存在或者无法打开的时候,会提示错误,并且会终止程序执行
include有返回值,而require没有(可能因为如此require的速度比include快),如果被包含的文件不存在的化,那么会提示一个错误,但是程序会继续执行下去
注意:包含文件不存在或者语法错误的时候require是致命的,而include不是
require_once,include_once表示了只包含一次,避免了重复包含
二十二、php中传值与传引用的区别,并说明传值什么时候传引用
变量默认总是传值赋值,那也就是说,当将一个表达式的值赋予一个变量时,整个表达式的值被赋值到目标变量,这意味着:当一个变量的赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量
php也提供了另外一种方式给变量赋值:引用赋值。这意味着新的变量简单的引用(换言之,成为了其别名或者指向)了原始变量。改动的新的变量将影响到原始变量,反之亦然。
使用引用赋值,简单地将一个&符号加到将要赋值的变量前(源变量)
对象默认是传引用
对于较大的数据,可以考虑传引用,这样可以节省内存的开销
二十三、PHP 不使用第三个变量实现交换两个变量的值
//方法一
$a.=$b;
$b=str_replace($b,"",$a);
$a=str_replace($b,"",$a);
//方法二
list($b,$a)=array($a,$b);
var_dump($a,$b);
二十五、redis 和 memache 缓存的区别
1.数据类型
redis支持多种数据类型(5种):hash string list set zset
memcache 只支持key-value
2.持久性
redis 支持两种持久化方式 RDB、AOF
memcache 不支持持久化
3.分布式存储
redis支持master-slave复制模式
memcache可以使用一致性hash做分布式
4.value大小不同

本文详细总结了2021年PHP面试和笔试的常见问题,涵盖PHP语法、内存管理、缓存技术(如Redis和Memcache的区别)、服务器对比(如Apache与Nginx)、进程间通信、数据存储、MySQL高可用、Redis持久化、Linux通信方式、海量数据处理、跨域解决方案等关键知识点,是PHP开发者面试准备的重要参考资料。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



