PHP常量和数据类型
引言
先用一个题来作为开端:PHP字符串的三种定义方式是什么?有什么区别?
它们分别是单引号'',双引号"",newdoc和heredoc。
区别是:单引号不能解析变量,不能解析转义字符,只能解析单引号和反斜线本身。
双引号可以 解析变量,可以解析所有的转义字符。
由此可见单引号的效率要高于双引号。在我们进行SQL语句的书写时可以利用这一点:
$sql = "sellect * from user where name = '$name'";//原SQL语句
$sql = 'sellect * from user where name =\''.$name.'\'';//这样效率会高一点,并且可读性也高一些
而heredoc类似于双引号,newdoc类似于单引号,两者都用来处理大文本
heredoc: $str = <<< EoT
........//里面的变量和转义字符会被解析
EoT
newdoc:$str = <<< 'EoT'
........
EoT
数据类型
三大数据类型:标量(布尔、字符串、整型、浮点型)、复合(数组、对象)、特殊(资源、NULL)。
标量中注意:浮点类型,它不能用于比较运算中,不要直接判断两个浮点类型的数值是否相等。
bool类型,false的七种情况:0、0.0、''、'0'、false、array()、null。
复合中注意:数组类型,超全局数组:$GLOBALS、$_GET $_POST $_REQUEST $_SESSION $_COOKIE $SERVER $_FILES $ENV,其中$GLOBALS包含了后面的所有内容,$_REQUEST包含了$POST $_GET $_COOKIE的内容,这里再着重讲解一些$_SERVER:
$_REQUEST['SERVER_ADDR']//服务器端IP
$_REQUEST['SERVER_NAME']//服务器名称
$_REQUEST['REQUEST_TIME']//请求时间
$_REQUEST['QUERY_STRING']//网址?后面的内容
$_REQUEST['HTTP_REFERER']//上级请求的页面
$_REQUEST['REMOTE_ADDR']//客户端IP
$_REQUEST['REQUEST_URI']//请求的index.php,返回的是/index.php
$REQUEST['PATH_INFO']//网址的路径部分
特殊中注意:NULL的三种情况:直接赋值为NULL、未定义的变量、unset销毁的变量。
常量
定义方式:const、define
const是结构,define是函数,const更快。
define不能定义类常量,const可以
常量一经定义,不能被修改,不能被删除
预定义常量:FILE LINE -DIR FUNCTION METHOD CLASS TRAIT NAMESPACE
最新文章
- SharePoint 2013 图文开发系列之Visual Studio 创建母版页
- c# json TO xml
- Java_动态加载
- pagemap, from the userspace perspective
- Memcache的总结介绍和一些命令的总结
- Redis源码研究--字典
- Word图片版式设置问题
- 单源最短路径-Dijkstra算法
- [hihoCoder]#1039 : 字符消除
- 【转载】Android设计中的.9.png
- 这难道是CSDN的BUG? 大家帮忙看看哪里有问题
- myeclipse跟eclipse中使用github做版本控制工具
- canvas生成遮罩图片
- JSP(二)
- noip 2016 提高组总结(不是题解)
- 将下载的本地的jar手动添加到maven仓库
- this的四种用法
- shell脚本登录数据库
- Arch Linux下Visual Stdio Code在格式化C代码时报错
- Javascript 中调参数的脚本onclick=";select(this)"; this 怎么解释