类型戏法PHP 在变量定义中不需要(或不支持)明示的类型定义;变量类型是根据使用该变量的上下文所决定的。也就是说,如果把一个字符串值赋给变量 var,var 就成了一个字符串。如果又把一个整型值赋给 var,那它就成了一个整数。 PHP 的自动类型转换的一个例子是加号“+”。如果任何一个运算数是浮点数,则所有的运算数都被当成浮点数,结果也是浮点数。否则运算数会被解释为整数,结果也是整数。注意这并没有改变这些运算数本身的类型;改变的仅是这些运算数如何被求值。
如果上面两个例子看上去古怪的话,参见字符串转换为数值。 如果要强制将一个变量当作某种类型来求值,参见类型强制转换一节。如果要改变一个变量的类型,参见 settype()。 如果想要测试本节中任何例子的话,可以用 var_dump() 函数。
类型强制转换PHP 中的类型强制转换和 C 中的非常像:在要转换的变量之前加上用括号括起来的目标类型。 允许的强制转换有:
注意在括号内允许有空格和制表符,所以下面两个例子功能相同:
当在某些类型之间强制转换时确切地会发生什么可能不是很明显。更多信息见如下小节: | |||