数据类型和常量

手册:http://php.net/manual/zh/language.types.intro.php

数据类型

  • 标量 浮点,整型,字符串,布尔
  • 复合 数组,对象,可调用
  • 特殊 null,资源

字符串

定义方式

  • 单引号:只能转译 ' \ 单引号效率高
  • 双引号:能对特殊字符进行转译,同时也能解析变量,一般用{}将变量包裹起来,
  • heredoc语法结构:结构就象是没有使用双引号的双引号字符串,这就是说在 heredoc 结构中单引号不用被转义,但是上文中列出的转义序列还可以使用。
  • nowdoc语法结构:Nowdoc 结构是类似于单引号字符串的。一个 nowdoc 结构也用和 heredocs 结构一样的标记 <<<, 但是跟在后面的标识符要用单引号括起来,即 <<<'EOT'

示例代码

//单引号
$a = 'i\'ll win \\';
//输出 i'll win \;

//双引号
$a ='aaa';
$b="bbb{$a}";//$b="bbb$a";
print_r($b);
//两个输出结果是一致的
'bbbaaa'

// heredoc结构
$bar = <<

浮点

由于内部表达方式的原因,比较两个浮点数是否相等是有问题的。
要测试浮点数是否相等,要使用一个仅比该数值大一丁点的最小误差值。该值也被称为机器极小值(epsilon)或最小单元取整数,是计算中所能接受的最小的差别值。

(0.1+0.7 == 0.8)//这个在php中为false
//用bcmath 去处理浮点数的运算

布尔类型

false的情况
0、0.0、false、array()、null、'0'、''


数组

PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。

超全局数组

$GLOBALS、$_GET、$_POST、$_REQUEST、$_SESSION,$_COOKIE,$_SERVER,$_FILES,$_ENV


整型

integer 是集合 ℤ = {..., -2, -1, 0, 1, 2, ...} 中的某个数。


常量

常量是一个简单值的标识符(名字)。如同其名称所暗示的,在脚本执行期间该值不能改变(除了所谓的魔术常量,它们其实不是常量)。常量默认为大小写敏感。传统上常量标识符总是大写的。
const 语言结构,速度更快,可以定义类常量,使用 const 关键字定义常量必须处于最顶端的作用区域
define 函数,不能定义类常量

常量和变量的不同

常量前面没有美元符号($);
常量只能用 define() 函数定义,而不能通过赋值语句;
常量可以不用理会变量的作用域而在任何地方定义和访问;
常量一旦定义就不能被重新定义或者取消定义;
常量的值只能是标量。

你可能感兴趣的:(数据类型和常量)