PHP变量
数据类型:8个主要数据类型和4伪类型
标量数据类型 | boolean——布尔型 |
string——字符串型 | |
integer——整型 | |
float——浮点型 | |
复合数据类型 | array——数组 |
object——对象 | |
特殊数据类型 | resource——资源 |
null——空 |
字符类型(字符内容必须用定界符括起来)
(1).定界符
a.单引号(php中推荐使用)
b.双引号
c.HereDoc
d.NowDOC
(2).单引号和双引号的区别
a.单引号不能解析变量,而双引号能解析变量
b.双引号能解析全部转义字符,而单引号只能解析 /',//两个转义字符
(3)转义字符(执行在浏览器源代码中)
/n 换行
/r 回车
/t 水平制表符
/v 垂直制表符
/' 单引号
/" 双引号
// 反斜杠
(4)单引号和双引号中转义字符和HTML实体使用
a. HTML实体,w3c规定浏览器中的特殊字符必须用HTML实体实现 ,也就是说单引号和双引号在浏览器中必须用HTML实体实现
例如:echo 'He said "I'm fine"';
b.在浏览器的源代码中用 php中的转义字符
echo '<a href="#">链接</a>';
echo '<a href=/'#/'>链接</a>';
(5)大括号的使用
$user = 'a';echo "{$user}12345";//a12345
在双引号中的变量,php引擎能解析变量,php引擎会尽量取更多的合法字符串作为变量名称,如果告诉php引擎到此为止,必须用大括号括起来。
说明:大括号可以实现添加或修改某一字符串,如果添加字符位数超过字符串本身的长度,填补空格。
(6)HereDoc
(7)NowDoc
数据类型转换
php属于'弱'语言,数据类型会根据运行环境自动转换数据类型
(1)自动转换(隐式转换)
转换成数值类型
a.合法数字字符串,除了.,e,E ,并且不超出整数的最大范围自动转换成整型,其他转换成浮点型
b.不合法的数字字符串,如果以数字开头后面不合法字符串转换成数值如果以不合法的数字开头转换成0
c.空字符串转换成0
d.null转成0
e.布尔值 true转换成1,false转换成0
例如:
$a = '20.3';echo 8 + $a;//28.3
$a = '12ereer';echo 8 + $a;//20
$a = 'a13';echo 8 + $a;//8
$a = '2.5.63';echo 8 + $a;//10.5
$a = '';echo 8 +$a;//8
$a = null;echo 8 +$a;//8
$a = true;echo 8 +$a;//9
$a = 'true';echo 8 +$a;//8
转换成字符类型
a.数值类型转换成字符类型就是数值本身
b.布尔类型转换成字符类型 true转成1,false空字符串
c.null 转换成空字符串
d.数组 转成 Array
e.资源转成 Resource id #数字
例如:
$a = '2.56';echo $a;//2.56
$a = '20';echo $a;//20
$a = null;echo $a;//空字符串
$a = 'null';echo $a;//null
$a = true;echo $a;//1
$a = 'true';echo $a;//true
转换成布尔类型:
只有下面情况转成false如下:
a.布尔值false
b.空字符串
c.null
d.整数0,浮点数0.0,字符串'0',"0"
e.没成员的数组array()(空数组)
除此之外都转换成true
分支结构
if(exp){
如果exp表达式为真,执行的语句组
}else{
如果exp表达式为假,执行的语句组
}
例如:
if(0.00000){ //假echo '真';}else{echo '假';}if('0.00000'){ //真echo '真';}else{echo '假';}
(2)强制转换(显式转换)
a.临时转换(变量临时转换,变量本身没变)
(int)$var|(integer)$var转换成整型
(float)$var|(double)$var|(real)$var转换成浮点型
(bool)$var|(boolean)$var转成布尔类型
(string)$var 转成字符类型
(array)$var 转成数组
(object)$var 转成对象
说明:浮点型转成整数向下取整
b.永久转换(变量本身换了)
bool settype ( mixed &$var , string $type )
type 的可能值为:
"boolean” (或为“bool”,从 php 4.2.0 起)
"integer” (或为“int”,从 php 4.2.0 起)
"float” (只在 php 4.2.0 之后可以使用,对于旧版本中使用的“double”现已停用)
"string"
"array"
"object"
"null” (从 php 4.2.0 起)
返回值:如果函数执行成功返回true,执行失败返回false
gettype() 获取变量类型
string gettype ( mixed $var )
类型判断函数库
1.安装:类型判断函数库是phpCORE的组成部分
is_int(),is_integer(),is_long()检测变量是否是整型is_float(),is_double(),is_real()检测变量是否是浮点型is_bool(),is_boolean()检测变量是否是布尔型is_string()检测变量是否是字符型is_array()检测变量是否是数组is_object()检测变量是否是对象is_resource()检测变量是否是资源is_null()检测变量是否是nullis_numeric()检测变量是否是数字或数字字符串is_scalar()检测变量是否是标量类型