I've learnt so much after subscribing to read your exclusive articles! 我学到订阅阅读独家稿件后,这么多!”
缺口

在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秒