通俗易懂的表格汇总,带你快速理解两者(或多者)的区别关系 持续更新~~~,如有遗漏可以评论区告诉我~ isset:检测变量是否已设置并且非 NULL empty:判断变量是否为空,变量为 0/false 也会被认为是空;变量不存在,不会产生警告 Session 的运行依赖Session ID,而 Session ID 是存在 Cookie 中的,也就是说,如果浏览器禁用了 Cookie,Session 也会失效(但是可以通过其它方式实现,比如在 url 中传递 Session ID) 持续更新中~~~,如果有添加或者纠正的地方欢迎评论。
文章目录
区别表格汇总
isset 和 empty
变量的值($var)
isset($var)
empty($var)
“”(空字符串)
布尔(true)
布尔(true)
” “(空格字符)
布尔(true)
布尔(false)
false
布尔(true)
布尔(true)
true
布尔(true)
布尔(false)
array()(一个空数组)
布尔(true)
布尔(true)
NUll值
布尔(false)
布尔(true)
“0”(0作为字符串)
布尔(true)
布尔(true)
0(0为整数)
布尔(true)
布尔(true)
0.0(0作为浮点数)
布尔(true)
布尔(true)
public、protected、private(3p修饰符)
在类外
在子类
在本类
public(公有)
✔
✔
✔
protected(受保护)
✖
✔
✔
private(私有)
✖
✖
✔
cookie 和 session
cookie
session
存储
客户端(浏览器)
服务器端
安全
容易被更改
安全一些
性能
减轻服务器的性能
占用服务器的性能
get 和 post
请求方式
get
post
本质
向服务器发索取数据的一种请求
向服务器提交数据的一种请求
服务器端获取值的方法
$_GET
$_POST
安全性
低
较安全
大小
URL 的最大长度是 2048 个字符
没有大小限制
echo、print、print_r、var_dump
echo
print
print_r
var_dump
语言结构
语言结构
普通函数
普通函数
输出一个或多个字符串
输出字符串
打印关于变量的易于理解的信息
打印关于变量的易于理解的信息(带类型)
Redis 和 Memcached
缓存
Redis
Memcached
数据支持类型
常用的数据类型有5种:String、Hash、List、Set和ZSet
仅支持简单的key-value结构
线程
单线程的IO复用模型
多线程,非阻塞IO复用的网络模型
是否支持事务
✔
✖
持久化
✔
✖
Nginx 和 Apache
web服务器
Nginx
Apache
反向代理
非常好
好
Rewrite规则
非常好
好
FstCGI
好
差
热部署
✔
✖
系统压力比较
很小
小
稳定性
非常好
好
安全性
一般
好
静态文件处理
非常好
一般
虚拟主机
✔
✔
内存消耗
非常小
很大
urlencode 和 rawurlencode
函数
对空格的处理
返回值
urlencode
处理成“+”
返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 » RFC3986 编码(参见 rawurlencode())不同
rawurlencode
处理成“%20”
返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数。这是在 » RFC 3986 中描述的编码,是为了保护原义字符以免其被解释为特殊的 URL 定界符,同时保护 URL 格式以免其被传输媒体(像一些邮件系统)使用字符转换时弄乱
函数
urlencode
rawurlencode
返回值
对空格的处理
处理成“+”
处理成“%20”
include、require、include_once、require_once
处理失败方式
include
会产生一个致命级别错误,并停止程序运行
require
只产生一个警告级别错误,程序继续运行
include_once
同include,当所包含的文件代码已经存在时候,不在包含
require_once
同require,当所包含的文件代码已经存在时候,不在包含
MyISAM 和 InnoDB
存储引擎
MyISAM
InnoDB
默认引擎
需要指定
场景
适合查询以及插入为主的应用
适合频繁修改以及涉及到安全性较高的应用
是否支持FULLTEXT类型的索引
✔
✖
是否支持事务
✖
✔
是否支持外键
✖
✔
表的具体行数
select count() from table,MyISAM只要简单的读出保存好的行数,注意的是,当count()语句包含 where条件时,两种表的操作是一样的
InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行
锁
表锁
行锁(某些情况下还是锁整表,如 update table set a=1 where user like ‘%lee%’)
清空整个表时
重新建表
一行一行的删除
varchar 和 char
数据类型
varchar
char
解释
变长
定长
定义长度
小于定义长度时,还是按实际长度存储,插入多长就存多长
如果插入的长度小于定义长度时,则用空格填充
存储的容量
最多能存放 65532 个字符。varchar的最大有效长度由最大行大小和使用的字符集确定。整体最大长度是 65,532字节。
最多能存放的字符个数 255,和编码无关
结束语
(你的每一个👍都是我更新的动力)
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算