走入PHP-数据类型和字符串语法

时间:2020-12-30 22:59:42

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)双引号

双引号中可以解析特殊字符

\n 换行 | \r 回车 | \t 水平制表符 | \e ESCAPE | \f 换页 | \\ 反斜线 | \$ 美元 | \" 双引号

(3)Heredoc结构: <<< LABLE

在该运算符后要提供一个标识符,然后换号,接下来是string本身,最后要用前面定义的标识符作为结束标志,结束时所引用的标识符必须在该行的第一列。

eg:

   $str = <<<EOO
  HELLO
  WOLD 
  EOO;

(4)Nowdoc结构:<<< 'LABLE'

heredoc结构类似于双引号字符串,Nowdoc类似于单引号字符串,不进行解析操作。适合用于嵌入PHP代码或其他打断文本而无需对其中的特殊字符进行转移。与heredoc不同的是标记需要用单引号标记。

(5)变量解析

当字符串用双引号 or heredoc定义时,其中的变量会被解析。

当PHP遇到一个$时,会组合尽量多的表示以形成一个合法的变量名。因此,可以用花括号{}来明确变量名的界限。

===================================================

数组

通过array()定义数组,PHP中的数组实际上是一个有序映射,将values关联到keys。

5.4起可以用[]代替array()

eg:

  $array = array("foo"=>"bar");
  $array = ["foo"=>"bar"];

如果数组定义中多个单元都使用了同一个键名,则只使用最后一个,之前的都被覆盖。

key 为可选项。如果未指定,PHP 将自动使用之前用过的最大 integer 键名加上 1 作为新的键名。

=======================================================

对象的简单语法:

 <?php
class foo
{
function do_doo()
{
echo "doing foo";
}
}
$bar = new foo;
$bar->do_foo();
?>