> ### LNMP - LNMP = Linux + Nginx + Mysql + PHP > ### LAMP - LAMP = Linux + Apache + Mysql + PHP > ### $_REQUEST - $_REQUEST :默认情况下包含了 $_GET,$_POST 和 $_COOKIE 的数组 > ### include()与require()的区别 - include引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码。 - require引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码 > ### break和continue 区别 - continue : 跳出本次循环, 开始下一次循环 - break : 跳出当前循环体(可以接受一个可选的数字参数来决定跳出几重循环) > ### empty()和isset()的区别 - isset检测变量是否设置,并且不是 NULL - empty检查一个变量是否为空 ``` 以下的东西被认为是空的: "" (空字符串) 0 (作为整数的0) 0.0 (作为浮点数的0) "0" (作为字符串的0) NULL FALSE array() (一个空数组) $var; (一个声明了,但是没有值的变量) ``` > ### 方法和函数的区别 - 函数是单独存在的,也就是面向过程部分定义的; 全局作用域里的函数,引入后可以在任何地方直接调用 - 方法是依赖于类存在的,也就是面向对象中定义的; 类的静态方法能够通过类名直接调用 > ### 左斜杠和右斜杠区别 - / 和 \ 作为路径符,在window上没有区别,但 linux 只能用 / 做路径符 - \ 在字符串中是转义符 - \ 还作为命名空间分隔符 > ### Redis和Memcached的区别 - Redis和Memcache都是将数据存放在内存中,都是内存数据库。但是Memcache还可以缓存其他东西,比如图片、视频 - 存储安全,memcache挂掉后,数据没了;redis可以定期保存在磁盘(持久化) - redis除了可以做nosql数据库之外,还能做消息队列、数据堆栈和数据缓存等。memcache适合于缓存sql语句、数据集、用户临时性数据、延迟查询数据和session等 > ### 分布式与集群的区别 - 分布式:一个业务分拆多个子业务,部署在不同的服务器上 - 集群:同一个业务,部署在多个服务器上 > ### 单引号与双引号的区别 - php里的单引号把内容当成纯文本,不会经过服务器翻译。而双引号则与此相反。里面的内容会经过服务器处理 ```php //把 \n 替换成 <br/> str_replace('\n', '<br/>', $content); //替换成功 str_replace("\n", '<br/>', $content); //替换失败 ```