PHP字符串定义方式及各自区别

【定义方式】
单引号
双引号

heredoc : 
<<<EOT
hello world
EOT

newdoc :

<<<'EOT'
hello Eric
EOT

【区别】

单引号不解析变量,
单引号不解析转义字符,只能解析单引号和反斜线本身

双引号解析变量、所有转义符号
变量可以使用特殊字符和{}包含

同等情况下,单引号效率更高

heredoc 相当于多行双引号

nowdoc 类似于多行单引号


【数据类型】

浮点型

不能运用到比较运算中,会有单双精度的问题。

布尔型

FALSE的多种情况

0,0.0,'','0',false,array(),NULL

数组类型

超全局数组

$GLOBALS //包含所有
$_GET
$_POST
$_SESSION
$_COOKIE
$_REQUEST //包含get,post
$_SERVER //重点
$_FILES
$_ENV

$_SERVER
$_SERVER['SERVER_ADDR'] // 服务器IP
$_SERVER['SERVER_NAME'] // 服务器域名
$_SERVER['REQUEST_TIME'] //请求时间
$_SERVER['QUERY_STRING'] //请求参数字符串
$_SERVER['HTTP_REFERER'] //链接到当前页面的上一个地址
$_SERVER['HTTP_USER_AGENT'] //当前请求用户信息
$_SERVER['REMOTE_ADDR'] // 客户端IP
$_SERVER['REQUEST_URI'] //请求地址
$_SERVER['PATH_INFO'] // 文件路径,可用作路由区分参数

NULL 类型

3种情况,NULL,未定义变量,unset后的变量

常量

const 语言结构
define 函数

2者相比,const 更快

预定义常量

__FILE__
__LINE__
__DIR__
__FUNCTION__
__CLASS__
__TRAIT__
__METHOD__
__NAMESPACE__