类型戏法
    PHP 在变量定义中不需要(或不支持)明示的类型定义;变量类型是根据使用该变量的上下文所决定的。也就是说,如果你把一个字符串值赋给变量
    var,var 就成了一个字符串。如果你又把一个整型值赋给
    var,那它就成了一个整数。
   
    PHP 的自动类型转换的一个例子是加号“+”。如果任何一个运算数是浮点数,则所有的运算数都被当成浮点数,结果也是浮点数。否则运算数会被解释为整数,结果也是整数。注意这并没有改变这些运算数本身的类型;改变的仅是这些运算数如何被求值。
    
   
    如果上面两个例子看上去古怪的话,参见字符串转换为数值。
   
    如果你要强制将一个变量当作某种类型来求值,参见类型强制转换一节。如果你要改变一个变量的类型,参见 settype()。
   
    如果你想要测试本节中任何例子的话,可以用 var_dump() 函数。
   
注: 
     数组的自动转换行为目前没有定义。
    
     
    
     由于一些历史原因,PHP 支持通过偏移量进行的字符串索引,这和数组索引的语法一样。以上的例子就产生了一个问题:$a
     应该变成一个第一个元素是“f”的数组呢,还是“f”成了字符串 $a 的第一个字符?
    
     目前版本的 PHP 将以上第二个赋值理解成字符串的偏移量标识,即 $a 变成了 "f",尽管如此,这种自动转换的地结果应该被认为未定义。PHP 4 引入了新的花括号语法来访问字符串的字符,请使用该语法来替代以上的操作:
     
     请参阅题为“用字符访问字符串”的章节以获取更多信息。
    
类型强制转换
     PHP 中的类型强制转换和 C 中的非常像:在要转换的变量之前加上用括号括起来的目标类型。
     
    
     允许的强制转换有:
     
- (int), (integer) - 转换成整型 
- (bool), (boolean) - 转换成布尔型 
- (float), (double), (real) - 转换成浮点型 
- (string) - 转换成字符串 
- (array) - 转换成数组 
- (object) - 转换成对象 
     注意在括号内允许有空格和制表符,所以下面两个例子功能相同:
     
    注: 
      为了将一个变量还原为字符串,您还可以将变量放置在双引号种。
     
     
     当在某些类型之间强制转换时确切地会发生什么可能不是很明显。更多信息见如下小节: