在PHP中的类型
变量必须是某种类型的,但在PHP类型没有明确定义,而不是变量的类型是由上下文决定的变量使用。 因此,这意味着变量类型时,他们被分配一个值,有一个类型。
自动类型转换
PHP自动转换从一个类型到另一个,这可能会导致意想不到的结果。 例如,从虚假到一个字符串转换可以有意想不到的效果。
value = false ; $值= FALSE;
" The value is $ value " ; 呼应 “的值是$值”;
returns : The value is / /返回值:
为了解决这类问题,PHP需要被指示如何处理变量。
value = false ; $值= FALSE;
" The value is " . ( int ) $ value ; 呼应 “价值”(int)的 美元价值。
returns : The value is 0 / /返回值是0
正如你可以看到投下变量,你需要使用的地方你要投在前面的括号中的变量的类型。 这适用于该类型的变量的正投。 注意,你应该小心你投,因为它可以有一些意想不到的结果。例如铸造到一个整数的一小部分的分数四舍五入到最接近的整数。
与数字字符串转换
你知道你可以添加一个森坦斯和数字在一起,形成另一个号码? 以及在PHP中,你可以! unfortunatley这可能会导致意想不到的结果,所以你需要小心你如何处理这个。
value = 1 + " 4.5 " ;值= 1 +“4.5”;
is float with the value 5.5 / /值5.5浮动
value = 1 + " tom " ; 美元值= 1 +“汤姆”;
is integer with the value 1 / /值1的整数
value = 1 + " 2 Green Bottles " ;值= 1 +“绿瓶”;
is integer with the value 3 / /值3的整数
value = 1 + " Green Bottles 2 " ; 美元值= 1 +“绿瓶2”;
is integer with the value 3 / /值3的整数
正如你可以看到添加一个字符串,一个数字时,如果字符串的第一个部分是一个数字,然后相加。 任何其他的号码被忽略。 如果你添加一个字符串,在浮动到一个整数的结果是一个浮点数。 再次,正确的方法来解决这个问题是检测和(或)投出正确的类型的变量。
检测变量的类型
可以通过使用下面的功能,只需将变量传递给所需的功能,它将返回true,如果它的类型是确定一个变量的类型。 这是为防御性编程的技术。
var = " hello " ; $ VAR =“你好”;
Returns true if a variable is a BOOLEAN / / 返回 true, 如果是一个布尔变量
$ var ) is_bool(VAR)
Returns true if a variable is a STRING / / 如果一个变量是一个字符串,则返回 true
$ var ) IS_STRING(VAR)
Returns true if a variable is a NUMERIC STRING / / 返回 true,如果一个变量是一个数字字符串
$ var ) is_numeric(VAR)
Returns true if a variable is an INTEGER / / 返回 true,如果一个变量是一个整数
$ var ) is_int(VAR)
Returns true if a variable is an ARRAY / / 如果变量是数组,则返回 true
$ var ) IS_ARRAY(VAR)
Returns true if a variable is an OBJECT / / 如果变量是一个对象,则返回 true
$ var ) is_object(VAR)
Returns true if a variable is NULL / / 如果一个变量是NULL,则返回 true
$ var ) is_null(VAR)
Returns true if a variable is a FLOAT / / 返回 true 如果一个变量是一个float
$ var ) is_float(VAR)
这是很重要的,作为一次特定变量类型已确定,然后你可以是一定的效果上进行任何操作。
已提供任何意见。
书面由多米尼克·斯金纳
最后更新:2011年10月25日十六点00分38秒