变量类型变化(juggling)
PHP不需要(或者说不支持)在声名变量明确他的变量类型;一个变量的类型是由这个变量被使用的前后关系来决定的,也就是说,如果你给一个变量var赋了一个字符串的值,var就变成了字符串变量。如果你再将一个整数赋值给var,他又变成了一个整数型变量。
一个PHP自动转化变量类型的例子是加法的操作符’+’。如果任何一个操作数都是双精度数,那么所有的操作数被当作双精度数求值,并且结果也是双精度数。否则,操作数将被认为是整数,结果也将会是整数。注意这并不影响每个操作数本身的变量类型,唯一的变化就是操作数在计算的过程中被如何处理。
$foo = "0"; // $foo 是一个字符串,值是“0”(ASCII 48)
$foo++; // $foo 是一个字符串,值是“1”(ASCII 49)
$foo += 1; // $foo 现在是一个整数(2)了
$foo = $foo + 1.3; // $foo 现在是一个双精度数(3.3)了
$foo = 5 + "10 Little Piggies"; // $foo 是一个整数 (15)
$foo = 5 + "10 Small Pigs"; // $foo 是一个整数 (15)
如果你觉得上面例子中最后两个表达式看起来有点奇怪的话,请看 “字符串的转化”部分。
如果你希望强制一个变量被当作某种固定的类型来计算,请看 “类型强制(casting)” 一节。如果你希望转变一个变量的类型,请看函数“settype()”的说明。
确定一个变量的类型
因为PHP自己决定变量的类型并且一般按照需要转化他们,一个特定的变量的类型不是在任何时间都非常明显。PHP包括一些函数可以找出这个变量的类型。这些函数是gettype(), is_long(), is_double(), is_string(), is_array(), 和 is_object().
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号