类型转换,定界符,流程控制

数据类型

整形,int,integer

字符串,string

定义字符串有4种方法

单引号,双引号,heredoc(定界符),nowdoc(定界符)

单引号是定义字符串最快的一种方式

单引号前面加\ 反斜杠可以转义单引号

$s = 'this is\' a dog'
echo $s;//this is' a dog

如果内容里最后一个是\可以用反斜杠再转义

建议:尽量使用单引号

双引号

可以解析变量

$name = '咸鱼';
$s1 = 'hello $name';//hello $name
$s2 = "hello $name";//hello 咸鱼

同样内容里有双引号也可以用反斜杠转义

如何在双引号中区分变量?

$s = "my{$name}is xianyu";

用大括号括起来,php解析器会认为大括号包含的是一个变量

另外{ 和$ 不分前后,都会被解析

双引号还能解析常用的转义字符

常见转义字符:\n 换行,\t制表符,\r回车

双引号还能转义相应的ascii码

php内置函数chr()可以将ascii码对应字符显示出来

定界符:Heredoc

$s = <<<STR
hello $name;
STR;

html,js等复杂的字符串适合用heredoc定界符

定界符:Nowdoc

$s = <<<'STR'
hello
STR;

区别:heredoc可以解析变量nowdoc不能

规则:定义标签可以任意,但前后一致,结束标记必须独立一行除了;不能再有其他字符

布尔型,bool .boolean

表示真假只有两个值true,false 不区分大小,不能用引号包裹;

浮点型

双精度,小数的表示方法。php能处理精度14位有效数字

支持科学计数法

$f = 123E10;
var_dump($f);//1230000000000

E-10 也可以

因为小数是不能转成二进制,所以在计算机内部都是近似值

数组,array

数据的集合

一个数组元素由键(下标)和值构成

array();声明数组类型 []不可以

对象

$o = new Ob();

$o->name = 'xianyu';

空类型.NULL

表示什么都没有,不区分大小写

资源,resoure

资源不是php独立拥有的数据,是php对外部数据的一个引用

$link = mysql_connect();//连接数据库

$fp = fopen();//文件操作

类型转换

php默认会自动类型转换到同样的类型处理

手动处理

$f = 2222;
$a = (int)$f;

$s = 'sss';
$b = (bool)$s;

转成布尔除了0,null 其他都是真,''也是假


你可能感兴趣的:(数据类型,定界符)