PHP定义字符串的四种方式
1、单引号
在单引号中,任何特殊字符都会按原样输出【除\\和\‘将会被转义输出】仅仅只有单引号、反斜杠被转义
2、双引号
在双引号中,遇到$将会解析该变量;
双引号中会转义反斜杠的转义字符;
单双引号之间的区别
双引号会替换变量的值,而单引号会把它当做字符串输出。
对于转义的支持
性能速度问题,由于双引号中的字符串需要检测是否含有$符号修饰的变量,因此从理论上讲,单引号是比较快的(单引号效率比较高)
3、heredoc
heredoc可以理解为不使用双引号来定义字符串,但效果与使用双引号一致。【此时双引号相当于普通字符】(长字符串)
语法要求:
1、开始标记和结束标记使用相同的字符串,通常以大写字母来写。
2、开始标记后不能出现空格或多余的字符。
3、结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。
4、位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。
此时双引号仅仅只是一个普通字符;其他的效果和双引号的字符串效果一致
例:
<?php $var = 'this is suifeng'; echo <<<"ETO" $var <br/> "666666" ETO
输出:
this is suifeng
666666
4、nowdoc
同理,nowdoc是不使用单引号来定义,但效果相当于使用单引号来定义的字符串。【此时单引号相当于普通字符】
数据类型
三大数据类型【标量、符合、特殊】
浮点类型
浮点类型不能运用到比较运算符中
布尔类型
false的七种情况
整数0、浮点0.0、布尔false、空字符串、0字符串、空数组、null
数组类型
超全局数组
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
null三种情况
直接赋值为null、未定义的变量、unset()销毁的变量
常量
定义
const define
const更快,是语言结构,define是函数
define不能用于类常量的定义,const可以,常量一经定义不能修改,不能删除
预定义常量(魔术常量)
__LINE__ :返回文件中的当前行号。也可写成__line__。
__FILE__:返回当前文件的绝对路径(包含文件名)。
__DIR__:返回当前文件的绝对路径(不包含文件名),等价于 dirname(__FILE__)。
__FUNCTION__:返回当前函数(或方法)的名称。
__CLASS__:返回当前的类名(包括该类的作用区域或命名空间)。
__TRAIT__:返回当前的trait名称(包括该trait的作用区域或命名空间)。
__METHOD__:返回当前的方法名(包括类名)。
__NAMESPACE__:返回当前文件的命名空间的名称。
相关推荐:
以上就是PHP定义字符串的四种方式的详细内容,更多请关注其它相关文章!