Alan Hou的个人博客

PHP数据类型转换与常量

数据类型转换有两种:强制转换和自动转换,后者为在PHP中最常用的方式,这种情况变量会根据运行环境自动转换。强制转换使用函数setType()将原变量的类型改变(可使用var_dump()函数查看变量当前类型,不同于gettype(),它不仅显示类型还显示值)

setType(变量, 类型);  //类型可使用int, integer, float, double,real, bool, boolean, string, array, object
也可在赋值时在值前使用括号的形式指定或转换变量类型,类似下面这样:

$var=(int)”123abc”;

也可使用intval(),floatval()这样的形式,如

$var=stringval($var1或一个value);

注意:整型在内存中占4个字节,浮点型在内存中占8个字节,所以在将较大浮点型转换为整型值会出现偏差;在将字符串型转换为整型时,空字符串和以字符开头的字符串的值都将为0,而以数字开头的字符串转换为整型时将截取前面数字部分进行赋值;

与变量与类型有关的一些常用函数:

函数isset();判断变量是否存在, 函数unset();释放或删除一个变量, 函数empty();判断变量是否为空, 函数settype();用于设置变量类型, 函数gettype();用于获取变量类型。

变量类型测试函数

is_bool(); is_int(); is_integer; is_long(); is_string(); is_float(); is_double(); is_real(); is_array(); is_object(); is_resource(); is_null(); is_scalar(); is_numeric(); is_callable();

常量的声明和使用

常量是一个简单值的标识符,常量一经定义,其值就不能被改变,也不能使用函数取消删除。常量无需理会变量范围的规则,在任何地方都可以定义和访问。

常量使用define(“常量名”,值);的形式声明,不同于变量常量名无需使用$,通常习惯上常量名全部使用大写字母,其值只能使用标量类型(即int, float, bool, string类型),在声明时就需要赋值。查看常量是否存在使用defined(“”);函数。

预定义常量(如 PHP_VERSION)和魔术常量,魔术常量以两个连续的下划线开始,如__FILE__ , __LINE__ , __FUNCTION__ ,

通过get_defined_constants()函数可获取当前所有已经定义过常量,此外,除了直接使用常量名外,还可通过constant()函数动态获取常量值。

退出移动版