一、八种数据类型(三大类)
标量类型
- 整型(int -- integer)
- 浮点型(float -- double -- real)
- 字符串(string)
- 布尔型(bool -- boolean)
复合类型
- 数组(Array)
- 对象(Object)
特殊类型
- 资源(Resource)
- NULL(null -- NULL)
二、类型的转换
自动转换(隐式转换)
- 转数值
true - 1
false - 0
null - 0
abc123 - 0
123abc - 123
字符串如果以非法数值开始,直接转换成0;如果字符串以合法数值开始,一直取到第一个非法数值结束 - 转字符串
数值型直接转换成数值本身
true - 1
false - 空字符串
null - 空字符串
数组 - Array
资源 - Resource id #数字
对象不能直接转换成字符串 - 转布尔
0 - false
空字符串''或者""或者'0'或者"0" - false
null - false
空数组array() - false
强制转换(显示转换),又分临时转换和永久转换
- 临时转换 (不改变变量本身的类型),语法:(变量类型)$变量名称
- 整型 --- (int - integer)$var,系统函数:intval($var)
$var='3king';
var_dump((int)$var); // int(3)
var_dump($var); // string(5) "3king",不改变变量原来的类型
-
浮点型 --- (float - double - real)$var,系统函数:(floatva - doubleval)($var)
-
字符串型 --- (string)$var,系统函数:strval($var)
-
布尔型 --- (bool -boolean)$var,系统函数:boolval($var)
-
空 --- (unset)$var
-
数组 --- (array)$var
-
对象 --- (object)$var
- 永久转换(改变变量原本的类型),语法:boolean settype(mixed var,string type)
- type的值有:"boolean -
bool","integer - int","float","string","array","object","null"
$var='3king';
var_dump($var); // string(5) "3king"
settype($var,'int');
var_dump($var); // int(3),变量原来的类型已经被改变
检测变量的类型,语法:boolean is_name(mixed var)
- 标量类型 --- is_scalar()
- 整型 --- is_int() - is_integer() - is_long()
- 浮点型 --- is_float() - is_double() - is_real()
- 字符串型 --- is_string()
- 布尔型 --- is_bool()
- 空 --- is_null()
- 数组 --- is_array()
- 对象 --- is_object()
- 资源:is_resource()
- 是否为数值型或者字符串形式的数值 --- is_numeric()
- 变量是否存在 --- isset() --- 未定义或null返回false
-- 为空 --- empty() --- 变量有值返false,不包括 0 ''
三、其他
- 设置编码:header('content-type:text/html;charset=utf-8')
- echo: 输出一个或者多个字符串
- var_dump:打印变量的详细信息,可以一次打印一个或者多个变量的详细信息
- print_r():打印数组的信息
- unset:销毁变量,可以一次销毁一个或者多个,销毁之后变量的值为null
- ord($character):返回指定字符的ASCII码值
- chr($ascii):根据ASCII码值返回指定的字符
网友评论