PHP支持8种原始数据类型
四种标量类型:
boolean | integer | float(as double) | string
两种复合类型:
array | object
两种特殊类型
resource | NULL
其中,整形的最大值根据机器而定,PHP_INT_MAX保存的就是最大值;
如果想查看某个表达式的值和类型,使用var_dump()函数查看
gettype()函数可以得到表达式的类型,进而用于调试;
is_type()函数可以查看某个类型:
eg: is_int() | is_string() | etc
通过settype()函数将变量强制转换为某类型;
整数溢出:如果一个数超出了int的范围,将会被解释以及运算结果返回float;
======================================================
一个字符串有4中表达方式:
(1)单引号
在单引号中,除了'和,两个字符需要转义,其他的任何方式的反斜线都会当成反斜线本身;
(2)双引号
双引号中可以解析特殊字符
换行 | 回车 | 水平制表符 | e ESCAPE | f 换页 | \ 反斜线 | $ 美元 | " 双引号
(3)Heredoc结构: <<< LABLE
在该运算符后要提供一个标识符,然后换号,接下来是string本身,最后要用前面定义的标识符作为结束标志,结束时所引用的标识符必须在该行的第一列。
eg:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 $str = <<<EOO 2 HELLO 3 WOLD 4 EOO;
(4)Nowdoc结构:<<< 'LABLE'
heredoc结构类似于双引号字符串,Nowdoc类似于单引号字符串,不进行解析操作。适合用于嵌入PHP代码或其他打断文本而无需对其中的特殊字符进行转移。与heredoc不同的是标记需要用单引号标记。
(5)变量解析
当字符串用双引号 or heredoc定义时,其中的变量会被解析。
当PHP遇到一个$时,会组合尽量多的表示以形成一个合法的变量名。因此,可以用花括号{}来明确变量名的界限。
===================================================
数组
通过array()定义数组,PHP中的数组实际上是一个有序映射,将values关联到keys。
5.4起可以用[]代替array()
eg:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
$array = array("foo"=>"bar"); $array = ["foo"=>"bar"];
如果数组定义中多个单元都使用了同一个键名,则只使用最后一个,之前的都被覆盖。
key 为可选项。如果未指定,PHP 将自动使用之前用过的最大 integer 键名加上 1 作为新的键名。
=======================================================
对象的简单语法:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 <?php 2 class foo 3 { 4 function do_doo() 5 { 6 echo "doing foo"; 7 } 8 } 9 $bar = new foo; 10 $bar->do_foo(); 11 ?>