PHP-数据类型与常量

2019-03-08  本文已影响0人  AGEGG

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

定义方式
单引号
双引号
heredoc 和newdoc

区别
单引号不能解析变量
单引号不能解析转义字符,只能解析单引号和反斜线本身
变量和变量、变量和字符串、字符串和字符串之间可以用.连接

区别
双引号可以解析变量,变量可以使用特殊字符和{}包含
双引号可以解析所有转义字符
也可以使用.来连接

区别
单引号效率更高

$str = 'abcdef$ag'; //abcdef$ag
$str = "abcdef'{$a}'gh";//abcdef$a的值gh
$sql = "SELECT * FROM user WHERE name = 'Lisi'";
$sql = "SELECT * FROM user WHERE name = '$name'";
$sql = 'SELECT * FROM user WHERE name = \''.$name.'\'';

区别
Heredoc 类似于双引号
Newdoc 类似于单引号
两者都用来处理大文本

$str = <<<EoT
这里是各种string,$a
等等,最后结尾名要与开始名相同
EoT

$str = <<<'EoT' //加了单引号类似单引号
这里是各种string,$a
等等,最后结尾名要与开始名相同
EoT

数据类型

三大数据类型(标量、复合、特殊)

标量 integer,float, string,boolen

复合 array,object

特殊 null,resource

浮点类型
浮点类型不能运用到比较运算中
$a = 0.1;
$b = 0.7;
$a + $b = 0.7999//二进制转化损耗
布尔类型
FALSE 的七种情况
整形0,浮点0.0,布尔false,空字符串,0字符串,空数组,NULL
0
0.0
''
'0'
false
array()
NULL
数组类型
超全局数组
$GLOBALS,$_GET,$_POST,$_REQUEST,$_SESSION,$_COOKIE,$_SERVER,$_FILES,$_ENV
$GLOBALS:$_GET,$_POST,$_REQUEST,$_SESSION,$_COOKIE,$_SERVER,$_FILES,$_ENV
$_REQUEST:$_GET,$_POST,$_COOKIE
$_SERVER
$_SERVER['SERVER_ADDR']//服务器端ip地址
$_SERVER['SERVER_NAME']//服务器名称
$_SERVER['SERVER_TIME']//请求时间
$_SERVER['QUERY_STRING']//?后面一大串
$_SERVER['HTTP_REFERER']//上级请求页面
$_SERVER['HTTP_USER_AGENT']//头信息
$_SERVER['REMOTE_ADDR']//客户端IP地址
$_SERVER['REQUEST_URI']//脚本名称比如: /index.php
$_SERVER['PATH_INFO']//路由,url中路径部分

ex.
http:www.agegg.com/index.php/use/reg?status=ghost
status=ghost //$_SERVER['QUERY_STRING']
use/reg //$_SERVER['PATH_INFO']
NULL
三种情况
直接赋值为NULL、未定义的变量、unset销毁的变量

常量

定义
const、define
const更快,是语言结构,define是函数
define不能用于类常量的定义,const可以
常量一经定义,不能被修改,不能被删除

预定义常量
__FILE__//文件路径名和文件名称
__LINE__//所在行号
__DIR__//所在目录
__FUNCTION__//所在函数的函数名称
__CLASS__//类名
__TRAIT__
__METHOD__//类名+方法名
__NAMESPACE__//命名空间名称
上一篇 下一篇

猜你喜欢

热点阅读