2. 字符串的定义方式,和各自区别;
定义方式: 单引号,双引号,heredoc和newdoc
单引号: 不能解析变量
字符串和变量/字符串之间用点连接
不能转义字符,只能解析单引号和反斜线本身
双引号: 可以解析变量,用{}标识
也是用点连接
可以转义字符
Heredoc: 一般用于定义大文本,相当于双引号;
$str = <<<EoT
EoT
Newdoc: 一般用于定义大文本,相当与单引号;
$str = <<<’EoT’
EoT
延伸:
三大数据类型: 标量,符合,特殊;
标量: 整型,字符串,浮点,布尔
符合: 数组,对象
特殊: 空型,资源
浮点不可以做相等的比较;
自动类型转换false: int(0), float(0.0), null, array(), ‘0’, ‘ ’, false
超全局数组: $GLOBALS, $_GET, $_POST, $_REQUEST, $_SESSION, $_COOKIE, $_SERVER, $_FILES, $_ENV;
$GLOBALS包括了所有的超全局变量;
$_REQUEST包含了$_GET, $_POST, $COOKIE;
$_SERVER: $_SERVER[‘REMOTE_ADDR’]客户端ip
$_SERVER[‘SERVER_ADDR’]服务端ip
$_SERVER[‘SERVER_NAME’]服务器名称
$_SERVER[‘REQUEST_TIME’]请求时间
$_SERVER[‘QUREY_STRING’]url问号后面的
$_SERVER[‘HTTP_REFERER’]上级请求页面
$_SERVER[‘HTTP_USER_AGENT’]获取客户端信息(浏览器和操作系统)
$_SERVER[‘REQUEST_URI’]url的路径部分
$_SERVER[‘PATH_INFO’]index.php到?之间的部分
NUL的三种情况:
直接赋值变量为null;
未定义的变量;
Unset的变量;
常量的定义方式
Const: 是语言结构,可以定义类的常量;
Definde: 是函数,不可以定义类的常量;
预定义的常量
__FILE__:返回文件的路径名和名称
__LINE__:所在行号
__DIR__:所在文件名
__FUNCTION__:所在方法名
__CLASS__:所在类名
__TRAIT__:所在trait的名
__METHOD__:所在类名和方法名
__NAMESPACE__:所在命名空间