数据类型解析和转换
1、转义字符串
\n 换行 \r 回车 \f 制表符(tab) \& &符
单引号只解析 \\ 和 \' ,双引号全部都解析。
2、{}花括号的作用
1⃣ 明确变量名的界限,将变量名括成一个整体来解析。
eg:{$username} ${username} 都可以解析
注:花括号两边不允许有空格(右边有也可以解析,但不符合规范,左边必须没有空格)
2⃣可用于获取单字符串的下标(单字符串:每个字符占一个字节,eg:中文不可用这种方法,因为中文utf8格式下占3个字符,会取出乱码)
eg:$str = 'abc'; $str{1} = 'b'; 字符串的下标以0开头
3、heredoc和nowdoc字符串
格式:<<<标识名称
内容
标识名称; // 此行必须顶头,前面不能有空格!
heredoc:("") 标识名称可放于双引号中(可去除)
nowdoc: ('') 标识名称可放于单引号中(不可去除),并且此写法不解析变量
4、自动类型转换
数值(整型、浮点) -> 本身
true -> 1
false -> 空字符串
null -> 空字符串
echo
数组 -> array(echo 数组 报notice)
资源 -> Resource id #3
对象 -> 无法转换(致命错误)
【对象不能自动转换为字符串】
强制转换: 临时------eg:(string)123
永久------eg:设置字符串类型 settype($str, $type)
获取字符串类型 gettype($str)
5、字符串转换其他类型
1⃣ 整形或浮点型
eg:1+'3abc' = 4 1+'ab' = 1
(取合法数字,必须以合法数字开头,否则为0)
2⃣布尔
'' => 假 ' ' => 真(空格==有内容) '0' => 假 '0.0' => 真
6、substr($str, $start [, $length])
如果$start,$length为负数,代表的是位置;正数,则表示个数,数量。
如果未制定长度,则取开始位置往后所有。